[−][src]Trait sqlx::Cursor
Represents a result set, which is generated by executing a query against the database.
A Cursor
can be created by either Executor::fetch
or Query::fetch
.
ⓘThis example is not tested
let mut cursor = sqlx::query("SELECT slug, title, description FROM articles") .fetch(&mut conn);
Initially the Cursor
is positioned before the first row. The next
method moves the cursor
to the next row, and because it returns None
when there are no more rows, it can be used
in a while
loop to iterate through all returned rows.
ⓘThis example is not tested
// For each row in the result set .. while let Some(row) = cursor.next().await? { // .. decode a domain type from the row let obj = Article::from_row(row)?; }
This trait is sealed and cannot be implemented for types outside of SQLx.
Associated Types
Loading content...Required methods
fn next(
&'cur mut self
) -> Pin<Box<dyn Future<Output = Result<Option<<Self::Database as HasRow<'cur>>::Row>, Error>> + 'cur + Send>>
&'cur mut self
) -> Pin<Box<dyn Future<Output = Result<Option<<Self::Database as HasRow<'cur>>::Row>, Error>> + 'cur + Send>>
Creates a future that attempts to resolve the next row in the cursor.
Implementors
impl<'c, 'q> Cursor<'c, 'q> for MySqlCursor<'c, 'q>
[src]
type Database = MySql
fn next(
&mut self
) -> Pin<Box<dyn Future<Output = Result<Option<MySqlRow>, Error>> + Send>>
[src]
&mut self
) -> Pin<Box<dyn Future<Output = Result<Option<MySqlRow>, Error>> + Send>>
impl<'c, 'q> Cursor<'c, 'q> for PgCursor<'c, 'q>
[src]
type Database = Postgres
fn next(
&mut self
) -> Pin<Box<dyn Future<Output = Result<Option<PgRow>, Error>> + Send>>
[src]
&mut self
) -> Pin<Box<dyn Future<Output = Result<Option<PgRow>, Error>> + Send>>