C#执行大量SQL语句代码
时间: 2024-10-24 09:11:17 浏览: 24
在C#中,执行大量SQL语句通常涉及到数据库访问和操作,特别是在Web应用程序中处理数据密集型任务时。以下是一个简单的示例,展示如何使用ADO.NET(Agnostic Data Access)来批量执行SQL命令:
```csharp
using (SqlConnection connection = new SqlConnection(connectionString))
{
// 打开连接
connection.Open();
string batchCommand = "BEGIN TRANSACTION;";
foreach (string sql in sqlStatements)
{
// 如果有多个语句,将它们追加到批处理命令中
if (!string.IsNullOrEmpty(sql) && !sql.EndsWith(";"))
batchCommand += $"INSERT INTO YourTable ({sql}) VALUES ({parameters});";
else
batchCommand += $"{sql};";
}
SqlCommand command = new SqlCommand(batchCommand, connection);
// 添加参数如果有的话
foreach (SqlParameter parameter in parameters)
command.Parameters.Add(parameter);
try
{
int rowsAffected = command.ExecuteNonQuery();
// 提交事务
connection.Commit();
Console.WriteLine($"Executed {rowsAffected} SQL statements.");
}
catch (Exception ex)
{
// 如果发生错误,回滚事务并记录异常
connection.Rollback();
Console.WriteLine($"Error executing SQL: {ex.Message}");
}
}
```
在这个例子中,`sqlStatements`数组存储待执行的SQL语句,`connectionString`是数据库连接字符串,`parameters`是用于填充查询的参数集。
阅读全文