odbc_api::parameter

Struct Out

Source
pub struct Out<'a, T>(pub &'a mut T);
Expand description

Use this to warp a mutable reference to an OutputParameter. This will cause the argument to be considered an output parameter only. Without this wrapper it would be considered an input parameter. You can use InOut if you want to indicate that the argument is an input and an output parameter.

§Example

use odbc_api::{Environment, Out, InOut, Nullable, ConnectionOptions};

let env = Environment::new()?;

let mut conn = env.connect(
    "YourDatabase", "SA", "My@Test@Password1",
    ConnectionOptions::default(),
)?;

let mut ret = Nullable::<i32>::null();
let mut param = Nullable::new(7);

conn.execute(
    "{? = call TestParam(?)}",
    (Out(&mut ret), InOut(&mut param)))?;

Tuple Fields§

§0: &'a mut T

Trait Implementations§

Source§

impl<'a, T> ParameterTupleElement for Out<'a, T>
where T: OutputParameter,

Mutable references wrapped in Out are bound as output parameters.

Source§

unsafe fn bind_to( &mut self, parameter_number: u16, stmt: &mut impl Statement, ) -> Result<(), Error>

Bind the parameter in question to a specific parameter_number. Read more

Auto Trait Implementations§

§

impl<'a, T> Freeze for Out<'a, T>

§

impl<'a, T> RefUnwindSafe for Out<'a, T>
where T: RefUnwindSafe,

§

impl<'a, T> Send for Out<'a, T>
where T: Send,

§

impl<'a, T> Sync for Out<'a, T>
where T: Sync,

§

impl<'a, T> Unpin for Out<'a, T>

§

impl<'a, T> !UnwindSafe for Out<'a, T>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.