Struct tiberius::Client [−][src]
Expand description
Client
is the main entry point to the SQL Server, providing query
execution capabilities.
A Client
is created using the Config
, defining the needed
connection options and capabilities.
Example
let mut config = Config::new(); config.host("0.0.0.0"); config.port(1433); config.authentication(AuthMethod::sql_server("SA", "<Mys3cureP4ssW0rD>")); let tcp = tokio::net::TcpStream::connect(config.get_addr()).await?; tcp.set_nodelay(true)?; // Client is ready to use. let client = tiberius::Client::connect(config, tcp.compat_write()).await?;
Implementations
Uses an instance of Config
to specify the connection
options required to connect to the database using an established
tcp connection
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.
For mapping of Rust types when writing, see the documentation for
ToSql
. For reading data from the database, see the documentation for
FromSql
.
Example
let results = client .execute( "INSERT INTO ##Test (id) VALUES (@P1), (@P2), (@P3)", &[&1i32, &2i32, &3i32], ) .await?;
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.
For mapping of Rust types when writing, see the documentation for
ToSql
. For reading data from the database, see the documentation for
FromSql
.
Example
let stream = client .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]
pub async fn simple_query<'a, 'b>(
&'a mut self,
query: impl Into<Cow<'b, str>>
) -> Result<QueryResult<'a>> where
'a: 'b,
[src]Execute multiple queries, delimited with ;
and return multiple result
sets; one for each query.
Example
let row = client.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<S> RefUnwindSafe for Client<S> where
S: RefUnwindSafe,
impl<S> UnwindSafe for Client<S> where
S: UnwindSafe,