pub trait TryConvert<T>: Sized {
    type Error;

    fn try_convert(self) -> Result<T, Self::Error>;
}

Required Associated Types

Required Methods

Implementations on Foreign Types

Convert odbc_api::sys::Date to time::Date

Example

use odbc_api_helper::TryConvert;

let odbc_data = OdbcDate{year: 2020,month: 1,day: 1};
assert_eq!(date!(2020 - 01 - 01), odbc_data.try_convert().unwrap());

let odbc_data = OdbcDate{year: 2022,month: 12,day: 31};
assert_eq!(date!(2022 - 12 - 31), odbc_data.try_convert().unwrap());

Convert odbc_api::sys::Time to time::Time

Example

use odbc_api_helper::TryConvert;

let odbc_time = OdbcTime { hour: 3,minute: 1,second: 1 };
assert_eq!(time!(03 : 01: 01), odbc_time.try_convert().unwrap());

let odbc_time = OdbcTime { hour: 19,minute: 31,second: 59 };
assert_eq!(time!(19 : 31 : 59), odbc_time.try_convert().unwrap());

Implementors

TryConvert State StatementInput trait to EitherBoxParams

Example

use either::Either;
use odbc_api::parameter::InputParameter;
use odbc_api_helper::executor::statement::Statement;
use odbc_api_helper::extension::pg::PgValueInput;
use odbc_api_helper::TryConvert;

let statement = Statement::new("select * from empty where name=? and age=?",vec![
    PgValueInput::VARCHAR("foo".into()),
    PgValueInput::INT2(8)
]);

let left:Vec<Box<dyn InputParameter>> = statement.try_convert().unwrap().left().unwrap();
assert_eq!(left.len(),2);

let statement = "select * from empty where name=? and age=?";

let right:() = statement.try_convert().unwrap().right().unwrap();///
assert_eq!(right,());