zoukankan      html  css  js  c++  java
  • 利用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();
    }

  • 相关阅读:
    MySQL之索引优化
    使用Nginx+Lua(OpenResty)开发高性能Web应用
    Eclipse设置背景色
    删除排序数组中的重复项再练习
    计数排序_数组与集合时间比较
    nodejs+redis应用
    redis的一些优缺点
    Redis的线程模型
    GC仅仅是守护线程,空闲执行
    SpringIOC和AOP的生活案例
  • 原文地址:https://www.cnblogs.com/chenbg2001/p/1704120.html
Copyright © 2011-2022 走看看