Skip to content

Commit 68a16f0

Browse files
tofutimoysteinkrog
authored andcommitted
add ExecuteNonQueryAsync
1 parent ebc63d3 commit 68a16f0

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

src/SQLite.Net.Async/SQLiteAsyncConnection.cs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,36 @@ public Task<T> ExecuteScalarAsync<T>(CancellationToken cancellationToken, [NotNu
547547
}, cancellationToken, _taskCreationOptions, _taskScheduler ?? TaskScheduler.Default);
548548
}
549549

550+
[PublicAPI]
551+
public Task ExecuteNonQueryAsync([NotNull] string sql, [NotNull] params object[] args)
552+
{
553+
return ExecuteNonQueryAsync(CancellationToken.None, sql, args);
554+
}
555+
556+
[PublicAPI]
557+
public Task ExecuteNonQueryAsync(CancellationToken cancellationToken, [NotNull] string sql, [NotNull] params object[] args)
558+
{
559+
if (sql == null)
560+
{
561+
throw new ArgumentNullException("sql");
562+
}
563+
if (args == null)
564+
{
565+
throw new ArgumentNullException("args");
566+
}
567+
return Task.Factory.StartNew(() =>
568+
{
569+
cancellationToken.ThrowIfCancellationRequested();
570+
var conn = GetConnection();
571+
using (conn.Lock())
572+
{
573+
cancellationToken.ThrowIfCancellationRequested();
574+
var command = conn.CreateCommand(sql, args);
575+
command.ExecuteNonQuery();
576+
}
577+
}, cancellationToken, _taskCreationOptions, _taskScheduler ?? TaskScheduler.Default);
578+
}
579+
550580
[PublicAPI]
551581
public Task<List<T>> QueryAsync<T>([NotNull] string sql, [NotNull] params object[] args)
552582
where T : class

0 commit comments

Comments
 (0)