[−][src]Struct tiberius::Client
Client
is the main entry point to the SQL Server, providing query
execution capabilities.
A Client
is created using the ClientBuilder
, defining the needed
connection options and capabilities.
Example
let mut builder = Client::builder(); builder.host("0.0.0.0"); builder.port(1433); builder.authentication(AuthMethod::sql_server("SA", "<Mys3cureP4ssW0rD>")); // Client is ready to use. let conn = builder.build().await?;
Implementations
impl Client
[src]
pub fn builder() -> ClientBuilder
[src]
Starts an instance of ClientBuilder
for specifying the connect
options.
pub async fn execute<'a, 'b>(
&'a mut self,
query: impl Into<Cow<'b, str>>,
params: &'b [&'b dyn ToSql]
) -> Result<ExecuteResult> where
'a: 'b,
[src]
&'a mut self,
query: impl Into<Cow<'b, str>>,
params: &'b [&'b dyn ToSql]
) -> Result<ExecuteResult> where
'a: 'b,
Executes SQL statements in the SQL Server, returning the number rows
affected. Useful for INSERT
, UPDATE
and DELETE
statements. The
query
can define the parameter placement by annotating them with
@PN
, where N is the index of the parameter, starting from 1
. If
executing multiple queries at a time, delimit them with ;
and refer to
ExecuteResult
how to get results for the separate queries.
Example
let results = conn .execute( "INSERT INTO ##Test (id) VALUES (@P1), (@P2), (@P3)", &[&1i32, &2i32, &3i32], ) .await?;
pub async fn query<'a, 'b>(
&'a mut self,
query: impl Into<Cow<'b, str>>,
params: &'b [&'b dyn ToSql]
) -> Result<QueryResult<'a>> where
'a: 'b,
[src]
&'a mut self,
query: impl Into<Cow<'b, str>>,
params: &'b [&'b dyn ToSql]
) -> Result<QueryResult<'a>> where
'a: 'b,
Executes SQL statements in the SQL Server, returning resulting rows.
Useful for SELECT
statements. The query
can define the parameter
placement by annotating them with @PN
, where N is the index of the
parameter, starting from 1
. If executing multiple queries at a time,
delimit them with ;
and refer to QueryResult
on proper stream
handling.
Example
let stream = conn .query( "SELECT @P1, @P2, @P3", &[&1i32, &2i32, &3i32], ) .await?;
pub async fn simple_query<'a, 'b>(
&'a mut self,
query: impl Into<Cow<'b, str>>
) -> Result<QueryResult<'a>> where
'a: 'b,
[src]
&'a mut self,
query: impl Into<Cow<'b, str>>
) -> Result<QueryResult<'a>> where
'a: 'b,
Execute multiple queries, delimited with ;
and return multiple result
sets; one for each query.
Example
let row = conn.simple_query("SELECT 1 AS col").await?.into_row().await?.unwrap(); assert_eq!(Some(1i32), row.get("col"));
Warning
Do not use this with any user specified input. Please resort to prepared
statements using the query
method.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
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,
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.
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,