これはvb.netで可能ですか
sub Main()
conn.open
transactions = conn.begintransaction("SAMPLE")
insertintotable1()
insertintotable2()
insertintotable3()
transactions.commit
end sub
sub insertintotable1
try
conn = new sql connection(connectionstring)
strsql = sql statement
cmd = new sql command(strsql, conn)
cmd.executenonquery
catch ex as exception
transaction.rollback
end try
end sub
sub insertintotable2
try
conn = new sql connection(connectionstring)
strsql = sql statement
cmd = new sql command(strsql, conn)
cmd.executenonquery
catch ex as exception
transaction.rollback
end try
end sub
sub insertintotable3
try
conn = new sql connection(connectionstring)
strsql = sql statement
cmd = new sql command(strsql, conn)
cmd.executenonquery
catch ex as exception
transaction.rollback
end try
end sub
私の問題は、2 番目のテーブルのクエリに問題がある場合、トランザクションがないと、テーブル 1 のデータが既に挿入されていることです。SO私はトランザクションを調べましたが、何かが失敗した場合に挿入をロールバックできるため、理論的にはその問題を解決できます。