ado.net使用相同的sqlcommand对象来执行多个命令

时间:2011-06-20 07:13:43

标签: c# asp.net ado.net

任何人都可以讲述 使用相同的SqlCommand对象在.net应用程序中执行多个命令。

情况: 我有一个先执行的Truncate表命令。 然后我将执行SqlBulkcopy操作 然后我想要相同的命令对象来执行另一个存储过程 执行一些更新或将数据移动到不同的表。

我不想创建一个新的Command对象。

这三项操作还有一件事在交易中。

提前致谢。

4 个答案:

答案 0 :(得分:5)

您不必创建新对象。只需指定一个新的

command.CommandText = "SELECT FROM WHERE...";

在执行每个命令之前使用必要的参数。

答案 1 :(得分:2)

你可以这样做,我相信......

SqlCommand command = new SqlCommand();
command.CommandText = 
    "SELECT FROM WHERE...; SELECT FROM WHERE...; SELECT FROM WHERE...;";

答案 2 :(得分:2)

您可以使用相同的SqlCommand对象来执行更多命令。请务必将以下属性重置为适当的值

答案 3 :(得分:0)

如果您需要在不同的批次中运行查询段,您是否可以在它们之间的一个命令文本“GO”语句中包含所有操作,您也可以使用此事务

TRUNCATE TABLE X;
GO

/* do SqlBulkcopy code*/
GO

/* EXECUTE STORED PROC*/
GO