使用C#创建oracle事务

时间:2017-08-26 17:10:40

标签: c# oracle c#-4.0 transactions

我正在使用oracle事务同时插入多表一个主表和两个详细信息表。所以我将一个记录插入主表,多记录插入另外两个表。 如果所有表中的操作成功,我需要返回值1,如果发生错误,我将返回0,如果数据已存在于主表中,则返回3。我需要在c#中执行此操作,这是我的代码, 以及我如何修改我的代码以使用循环插入到其他表

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.");
    }
}
}

1 个答案:

答案 0 :(得分:0)

你几乎已经实现了它:

bar