ユーザーが複数の sql ステートメントを文字列配列形式で渡すことができるメソッドをコーディングしようとしています。そしてトランザクションを作成します。必要に応じてロールバックします。現時点では、トランザクションにはコマンドを実行する必要があるというエラーが表示されます。アドバイスをいただければ幸いです。おそらく、私が必要なことを行う別の(または正しい)方法です。以下は既存のコードです。
public bool Scalar(params string[] sqlTexts)
{
SqlTransaction tran = null;
try
{
using (SqlConnection connection = new SqlConnection(strConnectionString)) // Auto dispose of connection
{
connection.Open(); // Open the connection
using (tran = connection.BeginTransaction())
{
using (SqlCommand cmdCommand = connection.CreateCommand()) // Auto dispose of command
{
foreach (string currentSQL in sqlTexts)
{
cmdCommand.CommandText = currentSQL;
cmdCommand.ExecuteScalar();
}
}
tran.Commit();
}
}
return true;
}
catch (Exception)
{
if (tran != null)
tran.Rollback();
return false;
}
}