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();
    }

  • 相关阅读:
    对C#泛型中的new()约束思考
    c语言位运算符
    最简单易懂的委托例子
    静态方法是否属于线程安全
    使用JS实现鼠标滚轮事件
    Google Map 自定义 infowindow
    firefox下对ajax的onreadystatechange的支持情况分析及解决
    xcode7和ios9下UIWebView不能加载网页的解决方法
    在iOS平台使用ffmpeg解码h264视频流(转)
    Mac下批量删除.svn文件
  • 原文地址:https://www.cnblogs.com/chenbg2001/p/1604068.html
Copyright © 2011-2022 走看看