C# 使用ADO.NET一次性执行一系列命令

C# 使用ADO.NET一次性执行一系列命令,c#,ado.net,C#,Ado.net,我有一系列的T-SQLDELETE FROM TABLE和INSERT语句要运行。我使用的是普通的ADO.NET(而不是实体框架)。有没有一种方法可以一次执行所有这些语句,而不是为每个语句创建一个新的SqlCommand对象?是的,您可以将单个SqlCommand与CommandType.Text结合使用,将所有delete语句合并到一个块中。虽然可以同时运行INSERT和DELETE语句,但如果希望参数化查询,则可以更轻松地执行类似批处理的命令 编辑 我打算添加一个如何创建批处理参数化查询的代

我有一系列的T-SQLDELETE FROM TABLE和INSERT语句要运行。我使用的是普通的ADO.NET(而不是实体框架)。有没有一种方法可以一次执行所有这些语句,而不是为每个语句创建一个新的SqlCommand对象?

是的,您可以将单个SqlCommand与CommandType.Text结合使用,将所有delete语句合并到一个块中。虽然可以同时运行INSERT和DELETE语句,但如果希望参数化查询,则可以更轻松地执行类似批处理的命令

编辑


我打算添加一个如何创建批处理参数化查询的代码示例,但如果您只需要其他答案,那么我现在就不讨论了

是的,您可以使用一个带有CommandType.Text的SqlCommand将所有delete语句组合到一个块中。虽然可以同时运行INSERT和DELETE语句,但如果希望参数化查询,则可以更轻松地执行类似批处理的命令

sqlCommand.CommandText = 
    @"DELETE FROM foo; 
      INSERT INTO foo (name) VALUES ('name1'); 
      INSERT INTO foo (name) VALUES ('name2');
    ";
编辑


我打算添加一个如何创建批处理参数化查询的代码示例,但如果您只需要其他答案,那么我现在就不讨论了

多谢各位。这正是我想问的,如果我能做的话。谢谢。这正是我想问的,如果我能做的话。谢谢。这正是我想问我能不能做的。谢谢,卡尔加里编码员。你的答案实际上和另一个一样好。我希望我也能给你一张绿色支票-(谢谢。这正是我想问我是否可以做的。谢谢,卡尔加里编码员。你的答案实际上和另一个一样好。我希望我也能给你一张绿色支票。)-(
sqlCommand.CommandText = 
    @"DELETE FROM foo; 
      INSERT INTO foo (name) VALUES ('name1'); 
      INSERT INTO foo (name) VALUES ('name2');
    ";