2011-06-20 56 views
2

任何一个可以告诉 使用相同的SqlCommand对象在.net应用程序中执行多个命令。ado.net使用相同的sqlcommand对象执行多个命令

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

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

还有一件事是所有三个操作都在一个事务中。

在此先感谢。

回答

5

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

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

与执行每个命令之前的neccesary参数。

2

你可以做到这一点,我相信......

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

你不能包括所有操作在一个命令文本“GO”它们之间的说法,如果你需要查询段分批来运行你也可以使用这个事务处理

TRUNCATE TABLE X; 
GO 

/* do SqlBulkcopy code*/ 
GO 

/* EXECUTE STORED PROC*/ 
GO 
相关问题