1

重複の可能性:
ExecuteNonQuery では、コマンドでコードにトランザクション エラーが発生する必要があります。

strSQL = "insert into............";

SqlTransaction objSqlTransaction = Master.objSqlDbComm.SqlConnectionObject.BeginTransaction();
try
{
    Master.objSqlDbComm.ExecuteNonQuery(strSQL);
    objSqlTransaction.Commit();
}
catch(Exception)
{
    objSqlTransaction.Rollback();
}
finally
{
    objSqlTransaction.Dispose();
}

上記のコードを使用するとエラーが発生します

ExecuteNonQuery では、コマンドに割り当てられた接続が保留中のローカル トランザクションにある場合、コマンドにトランザクションが必要です。コマンドのトランザクション プロパティが初期化されていません。

4

1 に答える 1

1

コマンドオブジェクトを与える必要がありますExecuteNonQuery

次のようにします。

SqlCommand cmd = new SqlCommand(your_sqlText, your_sqlcon, your_sqlTrans);  

    cmd.ExecuteNonQuery(); 
于 2012-12-03T05:48:15.733 に答える