[][src]Struct tiberius::Row

pub struct Row { /* fields omitted */ }

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]

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]

Retrieve a column's value for a given column index.

Trait Implementations

impl Debug for Row[src]

impl IntoIterator for Row[src]

type Item = ColumnData<'static>

The type of the elements being iterated over.

type IntoIter = IntoIter<Self::Item>

Which kind of iterator are we turning this into?

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]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,