Struct mysql::Row
[−]
[src]
pub struct Row { // some fields omitted }
Mysql row representation.
It allows you to move column values out of a row with Row::take
method but note that it
makes row incomplete. Calls to from_row_opt
on incomplete row will return
Error::FromRowError
and also numerical indexing on taken columns will panic.
pool.prep_exec("SELECT * FROM tmp.Users", ()).map(|mut result| { let mut row = result.next().unwrap().unwrap(); let id: u32 = row.take("id").unwrap(); let name: String = row.take("name").unwrap(); let age: u32 = row.take("age").unwrap(); let email: String = row.take("email").unwrap(); assert_eq!(1, id); assert_eq!("John", name); assert_eq!(17, age); assert_eq!("foo@bar.baz", email); });
Methods
impl Row
fn len(&self) -> usize
Returns length of a row.
fn as_ref(&self, index: usize) -> Option<&Value>
Returns reference to the value of a column with index index
if it exists and wasn't taken
by Row::take
method.
Non panicking version of row[usize]
.
fn get<T, I>(&mut self, index: I) -> Option<T> where T: FromValue, I: ColumnIndex
Will copy value at index index
if it was not taken by Row::take
earlier,
then will convert it to T
.
fn take<T, I>(&mut self, index: I) -> Option<T> where T: FromValue, I: ColumnIndex
Will take value of a column with index index
if it exists and wasn't taken earlier then
will converts it to T
.