• 利用C#事务处理对数据库进行多重操作


    有A B C 三个数据库操作语句,利用C#事务处理进行多重操作,如果任何一个语句发生问题,则所有语句都不执行。

    C# code

    SqlCommand sqlCmd = new SqlCommand();
    sqlCmd.Connection = sqlCnn;
    sqlCmd.Transaction = sqlCnn.BeginTransaction(); //完成事务处理的前期准备工作

    try
    {
    //将用户注册的数据写入数据库
    string sqlCmd1 = "insert into User_Login (user_id,user_pwd) values('" + User_ID + "','" + User_PWD + "')";
    string sqlCmd2 = "insert into User_Data_Basic values('" + User_ID + "','" + User_Name + "','" + User_Sex + "'," + User_Age_Year + "," + User_Age_Month + "," + User_Age_Day + ",'','','','','')";
    string sqlCmd3 = "insert into user_data_comunication (user_id) values ('" + User_ID + "')";
    string sqlCmd4 = "insert into user_data_like (user_id) values ('" + User_ID + "')";
    string sqlCmd5 = "insert into user_data_schooldata (user_id) values ('" + User_ID + "')";
    //string sqlCmd6 = "insert into user_data_status (user_id,user_status_date) values ('" + User_ID + "','" + System.DateTime.Now + "')";

    string[] SQLstringList = { sqlCmd1, sqlCmd2, sqlCmd3, sqlCmd4, sqlCmd5 };
    for (int i = 0; i < SQLstringList.Length; i++)
    {
    string SQLstr = SQLstringList[i].ToString();
    if (SQLstr.Trim().Length > 1)
    {
    sqlCmd.CommandText = SQLstr;
    sqlCmd.ExecuteNonQuery();
    }
    }
    sqlCmd.Transaction.Commit();
    }
    catch (Exception exe)
    {
    sqlCmd.Transaction.Rollback();
    flag = false;
    //this.FinalCheck.Text = exe.Message.ToString();
    }
    finally
    {
    //关闭数据库
    sqlCnn.Close();
    }

  • 相关阅读:
    由类型名得到该类型
    TypeName of CA1505 is AvoidUnmaintainableCode, not AvoidUnmantainableCode.
    多核
    SSRS throws "The operation has timed out."
    XmlRootAttribute与XmlTypeAttribute
    littleendian and bigendian
    Assembly Exp
    如何在Ubuntu 11.10下成功安装Java [转载]
    *uck up ~,纯发泄
    [转载]读书相关,,
  • 原文地址:https://www.cnblogs.com/chenbg2001/p/1677339.html
Copyright © 2020-2023  润新知