Struct odbc_api::Preallocated [−][src]
A preallocated SQL statement handle intended for sequential execution of different queries. See
crate::Connection::preallocate
.
Example
use odbc_api::{Connection, Error}; use std::io::{self, stdin, Read}; fn interactive(conn: &Connection) -> io::Result<()>{ let mut statement = conn.preallocate().unwrap(); let mut query = String::new(); stdin().read_line(&mut query)?; while !query.is_empty() { match statement.execute(&query, ()) { Err(e) => println!("{}", e), Ok(None) => println!("No results set generated."), Ok(Some(cursor)) => { // ...print cursor contents... }, } stdin().read_line(&mut query)?; } Ok(()) }
Implementations
impl<'o> Preallocated<'o>
[src]
pub fn execute_utf16(
&mut self,
query: &U16Str,
params: impl ParameterCollection
) -> Result<Option<CursorImpl<'o, &mut StatementImpl<'o>>>, Error>
[src]
&mut self,
query: &U16Str,
params: impl ParameterCollection
) -> Result<Option<CursorImpl<'o, &mut StatementImpl<'o>>>, Error>
Executes an sql statement using a wide string. See Self::execute
.
pub fn execute(
&mut self,
query: &str,
params: impl ParameterCollection
) -> Result<Option<CursorImpl<'o, &mut StatementImpl<'o>>>, Error>
[src]
&mut self,
query: &str,
params: impl ParameterCollection
) -> Result<Option<CursorImpl<'o, &mut StatementImpl<'o>>>, Error>
Executes a statement. This is the fastest way to sequentially execute different SQL Statements.
Parameters
query
: The text representation of the SQL statement. E.g. “SELECT * FROM my_table;”.params
:?
may be used as a placeholder in the statement text. You can use()
to represent no parameters. Check thecrate::parameter
module level documentation for more information on how to pass parameters.
Return
Returns Some
if a cursor is created. If None
is returned no cursor has been created (
e.g. the query came back empty). Note that an empty query may also create a cursor with zero
rows. Since we want to reuse the statement handle a returned cursor will not take ownership
of it and instead burrow it.
Example
use odbc_api::{Connection, Error}; use std::io::{self, stdin, Read}; fn interactive(conn: &Connection) -> io::Result<()>{ let mut statement = conn.preallocate().unwrap(); let mut query = String::new(); stdin().read_line(&mut query)?; while !query.is_empty() { match statement.execute(&query, ()) { Err(e) => println!("{}", e), Ok(None) => println!("No results set generated."), Ok(Some(cursor)) => { // ...print cursor contents... }, } stdin().read_line(&mut query)?; } Ok(()) }
Auto Trait Implementations
impl<'open_connection> RefUnwindSafe for Preallocated<'open_connection>
impl<'open_connection> !Send for Preallocated<'open_connection>
impl<'open_connection> !Sync for Preallocated<'open_connection>
impl<'open_connection> Unpin for Preallocated<'open_connection>
impl<'open_connection> UnwindSafe for Preallocated<'open_connection>
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, 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>,