|
■No55425 (shu さん) に返信
> ■No55423 (furu さん) に返信
> コネクションに対しトランザクションが1つとは限らないので無理でしょう。
返信ありがとうございます。
Oracle等では、並列トランザクションをサポートしておらず、
コネクションに対しトランザクションが1つなので可能だと思っています。
実際には、トランザクションリスト(or 配列)なるものが取得できれば
1つであることを確認し、使用したいと思っています。
例:
void InsertData(
DbConnection Conn,
DbTransaction Tran)
{
using (DbCommand Comm = Conn.CreateCommand())
{
Comm.Transaction = Tran;
Comm.CommandText = "insert into a values(5)";
Comm.ExecuteNonQuery();
}
}
【やりたい事】
void InsertData(
DbConnection Conn)
{
using (DbCommand Comm = Conn.CreateCommand())
{
if (Comm.TransactionList.Count != 1)
throw null;
Comm.Transaction = Comm.TransactionList[0];
Comm.CommandText = "insert into a values(5)";
Comm.ExecuteNonQuery();
}
}
|