Trait odbc_api::ParameterCollection [−][src]
SQL Parameters used to execute a query.
ODBC allows to place question marks (?
) in the statement text as placeholders. For each such
placeholder a parameter needs to be bound to the statement before executing it.
Examples
This trait is implemented by single parameters.
use odbc_api::Environment; let env = unsafe { Environment::new()? }; let mut conn = env.connect("YourDatabase", "SA", "<YourStrong@Passw0rd>")?; let year = 1980; if let Some(cursor) = conn.execute("SELECT year, name FROM Birthdays WHERE year > ?;", &year)? { // Use cursor to process query results. }
Tuples of Parameter
s implement this trait, too.
use odbc_api::Environment; let env = unsafe { Environment::new()? }; let mut conn = env.connect("YourDatabase", "SA", "<YourStrong@Passw0rd>")?; let too_old = 1980; let too_young = 2000; if let Some(cursor) = conn.execute( "SELECT year, name FROM Birthdays WHERE ? < year < ?;", (&too_old, &too_young), )? { // Use cursor to congratulate only persons in the right age group... }
And so do array slices of Parameter
s.
use odbc_api::Environment; let env = unsafe { Environment::new()? }; let mut conn = env.connect("YourDatabase", "SA", "<YourStrong@Passw0rd>")?; let params = [1980, 2000]; if let Some(cursor) = conn.execute( "SELECT year, name FROM Birthdays WHERE ? < year < ?;", ¶ms[..])? { // Use cursor to process query results. }
Required methods
fn parameter_set_size(&self) -> u32
[src]
Number of values per parameter in the collection. This can be different from the maximum
batch size a buffer may be able to hold. Returning 0
will cause the the query not to be
executed.
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
Safety
Implementers should take care that the values bound by this method to the statement live at
least for the Duration of self
. The most straight forward way of achieving this is of
course, to bind members.
Implementations on Foreign Types
impl ParameterCollection for ()
[src]
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
impl<A: Parameter> ParameterCollection for (A,)
[src]
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
impl<A: Parameter, B: Parameter> ParameterCollection for (A, B)
[src]
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
impl<A: Parameter, B: Parameter, C: Parameter> ParameterCollection for (A, B, C)
[src]
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
impl<A: Parameter, B: Parameter, C: Parameter, D: Parameter> ParameterCollection for (A, B, C, D)
[src]
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
impl<A: Parameter, B: Parameter, C: Parameter, D: Parameter, E: Parameter> ParameterCollection for (A, B, C, D, E)
[src]
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
impl<A: Parameter, B: Parameter, C: Parameter, D: Parameter, E: Parameter, F: Parameter> ParameterCollection for (A, B, C, D, E, F)
[src]
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
impl<A: Parameter, B: Parameter, C: Parameter, D: Parameter, E: Parameter, F: Parameter, G: Parameter> ParameterCollection for (A, B, C, D, E, F, G)
[src]
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
impl<A: Parameter, B: Parameter, C: Parameter, D: Parameter, E: Parameter, F: Parameter, G: Parameter, H: Parameter> ParameterCollection for (A, B, C, D, E, F, G, H)
[src]
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
impl<A: Parameter, B: Parameter, C: Parameter, D: Parameter, E: Parameter, F: Parameter, G: Parameter, H: Parameter, I: Parameter> ParameterCollection for (A, B, C, D, E, F, G, H, I)
[src]
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
impl<A: Parameter, B: Parameter, C: Parameter, D: Parameter, E: Parameter, F: Parameter, G: Parameter, H: Parameter, I: Parameter, J: Parameter> ParameterCollection for (A, B, C, D, E, F, G, H, I, J)
[src]
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
impl<T> ParameterCollection for &[T] where
T: InputParameter,
[src]
T: InputParameter,
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
Implementors
impl ParameterCollection for &ColumnarRowSet
[src]
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
impl ParameterCollection for &TextRowSet
[src]
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
impl<T> ParameterCollection for T where
T: Parameter,
[src]
T: Parameter,
fn parameter_set_size(&self) -> u32
[src]
unsafe fn bind_parameters_to(
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>
[src]
self,
stmt: &mut StatementImpl<'_>
) -> Result<(), Error>