[−][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
impl Send for Row
impl Sync for Row
impl Unpin for Row
impl UnwindSafe for Row
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>,