请问我要执行插入记录操作.一部分数据插入一个表(一条记录)另一部分分别存在另外几个几个表里.(多条记录).现在我想用事务来实现,以防止数据不完整.请问是否支持这样的操作呢?

解决方案 »

  1.   

    SqlConnection myConnection = new SqlConnection("Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;");
    myConnection.Open();
    // 启动一个事务
    SqlTransaction myTrans = myConnection.BeginTransaction();
    // 为事务创建一个命令
    SqlCommand myCommand = new SqlCommand();
    myCommand.Connection=myConnection;
    myCommand.Transaction = myTrans;
    try
    {
    myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, "Description")";
    myCommand.ExecuteNonQuery();
    myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, "Description")";
    myCommand.ExecuteNonQuery();
    myTrans.Commit();
    Console.WriteLine("Both records are written to database.");
    }
    catch(Exception e)
    {
    myTrans.Rollback();
    Console.WriteLine(e.ToString());
    Console.WriteLine("Neither record was written to database.");
    }
    finally
    {
    myConnection.Close();
    }
      

  2.   

    http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfsystemdataidbtransactionclasstopic.asp
      

  3.   

    SqlCommand cmd1 = new SqlCommand(sql1,conn);
    SqlCommand cmd2 = new SqlCommand(sql2,conn);
    SqlTransaction tran = conn.BeginTransaction("MyTran");
    cmd1.Transaction = tran;
    cmd2.Transaction = tran;
    try
    {
    cmd1.ExecuteNonQuery();
    cmd2.ExecuteNonQuery();
    }
    catch
    {}
      

  4.   

    帮忙顶,
    学习ing...........