[−][src]Struct tiberius::Row
A row of data from a query.
Data can be accessed either by copying through get
or try_get
methods, or moving by value using the IntoIterator
implementation.
// by-reference let row = client .query("SELECT @P1 AS col1", &[&"test"]) .await? .into_row() .await? .unwrap(); assert_eq!(Some("test"), row.get("col1")); // ...or by-value let row = client .query("SELECT @P1 AS col1", &[&"test"]) .await? .into_row() .await? .unwrap(); for val in row.into_iter() { assert_eq!( Some(String::from("test")), String::from_sql_owned(val)? ) }
Implementations
impl Row
[src]
pub fn columns(&self) -> &[Column]
[src]
Columns defining the row data. Columns listed here are in the same order as the resulting data.
Example
let row = client .query("SELECT 1 AS foo, 2 AS bar", &[]) .await? .into_row() .await? .unwrap(); assert_eq!("foo", row.columns()[0].name()); assert_eq!("bar", row.columns()[1].name());
pub fn len(&self) -> usize
[src]
Returns the number of columns in the row.
Example
let row = client .query("SELECT 1, 2", &[]) .await? .into_row() .await? .unwrap(); assert_eq!(2, row.len());
pub fn get<'a, R, I>(&'a self, idx: I) -> Option<R> where
R: FromSql<'a>,
I: QueryIdx,
[src]
R: FromSql<'a>,
I: QueryIdx,
Retrieve a column value for a given column index, which can either be the zero-indexed position or the name of the column.
Example
let row = client .query("SELECT @P1 AS col1", &[&1i32]) .await? .into_row() .await? .unwrap(); assert_eq!(Some(1i32), row.get(0)); assert_eq!(Some(1i32), row.get("col1"));
Panics
- The requested type conversion (SQL->Rust) is not possible.
- The given index is out of bounds (column does not exist).
Use try_get
for a non-panicking version of the function.
pub fn try_get<'a, R, I>(&'a self, idx: I) -> Result<Option<R>> where
R: FromSql<'a>,
I: QueryIdx,
[src]
R: FromSql<'a>,
I: QueryIdx,
Retrieve a column's value for a given column index.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Row
[src]
impl Send for Row
[src]
impl Sync for Row
[src]
impl Unpin for Row
[src]
impl UnwindSafe for Row
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,