2011-06-20 7 views
2

.netアプリケーションで複数のコマンドを実行するために同じSqlCommandオブジェクトを使用する。ado.net同じsqlcommandオブジェクトを使用して複数のコマンドを実行する

状況: 最初に実行されるTruncate tableコマンドがあります。 それから私はSqlBulkcopy操作を実行します 私は別のストアドプロシージャを実行する同じコマンドオブジェクトをしたい いくつかの更新を実行するか、別のテーブルにデータを移動します。

新しいCommandオブジェクトを作成したくありません。

さらに3つの操作はすべてトランザクション内にあります。

ありがとうございます。

答えて

5

新しいオブジェクトを作成する必要はありません。各コマンドを実行する前に、必要なパラメータを指定して新しい

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

を指定してください。

2

あなたがこれを行うことができ、私は

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

を使用すると、1つのコマンドテキストあなたは別々のバッチで実行するクエリのセグメントが必要な場合は、それらの間の文を「GO」ですべての操作を含めることはできません...と考えています

TRUNCATE TABLE X; 
GO 

/* do SqlBulkcopy code*/ 
GO 

/* EXECUTE STORED PROC*/ 
GO 
2

同じSqlCommandオブジェクトを使用して、さらに多くのコマンドを実行することができます。あなたは次のストアドプロシージャを実行する必要がある場合にはCommandType.StoredProcedureに設定してください - ちょうど適切な値

関連する問題