-1
我正在使用oracle事務同時插入到多表一個主表和兩個細節表。所以我會插入一個記錄到主表和多記錄到另外兩個表。 我需要返回值1,如果所有表中的操作成功,如果發生錯誤,我將返回0,如果數據已經存在於主表中,則返回3。我需要做這在C#,這裏是我的代碼, 以及我如何修改我的代碼使用循環使用C#創建oracle事務#
public int RunOracleTransaction(Student s, Marks[] m, Course []s)
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
connection.Open();
OracleCommand command = connection.CreateCommand();
OracleTransaction transaction;
// Start a local transaction
transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
// Assign transaction object for a pending local transaction
command.Transaction = transaction;
try
{
// what i shall do to insert 1 record to master data and multi records //to details data as one transaction ?
}
catch (Exception e)
{
transaction.Rollback();
Console.WriteLine(e.ToString());
Console.WriteLine("Neither record was written to database.");
}
}
}
你會當然需要實例化'OracleTransaction';你還應該使用一個使用塊來確保它完成。調用'Commit'以避免回滾。 – Richard