Session.ExecuteNonQueryAsync(String, Object[], CancellationToken) Method
Asynchronously executes the specified SQL statement and returns the number of rows affected.
Namespace: DevExpress.Xpo
Assembly: DevExpress.Xpo.v24.2.dll
NuGet Package: DevExpress.Xpo
#Declaration
public Task<int> ExecuteNonQueryAsync(
string sql,
object[] parameterValues,
CancellationToken cancellationToken = default(CancellationToken)
)
#Parameters
Name | Type | Description |
---|---|---|
sql | String | Specifies an SQL statement. |
parameter |
Object[] | An array of objects specifying parameters to pass to the database server along with the query. |
#Optional Parameters
Name | Type | Default | Description |
---|---|---|---|
cancellation |
Cancellation |
null | A Cancellation |
#Returns
Type | Description |
---|---|
Task<Int32> | A Task |
#Remarks
Use ExecuteNonQueryAsync to asynchronously execute SQL statements that do not produce result sets, such as UPDATE, INSERT, and DELETE statements.
The example below demonstrates how to use this method. Here, session is the Session instance.
using System.Threading;
using DevExpress.Xpo;
// ...
CancellationTokenSource cts = new CancellationTokenSource();
await UpdateOrderDetailsAsync(cts.Token);
// ...
public async Task UpdateOrderDetailsAsync(CancellationToken cancellationToken) {
const string queryString =
"UPDATE [Northwind].[dbo].[Order Details] SET [Discount] = @p1 WHERE [UnitPrice] > @p2";
int rowsAffected = await session.ExecuteNonQueryAsync(
queryString,
new object[] { 0.15, 100 },
cancellationToken
);
}
Note that a format of parameter names in a SQL statement depends on the ADO.NET provider and database you use.
To learn more about executing SQL statements in XPO, refer to Direct SQL Queries.
Note
The Execute