ADO實現sql事務

app.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add connectionString="Data Source=PC-20120110JFDT;Initial Catalog=School;Persist Security Info=True;User ID=sa;Password=yhb" name="connstr3" />

  </connectionStrings>
</configuration>

 

c#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;


namespace 事務_控制檯
{
    class Program
    {
        static void Main(string[] args)
        {
            string connstr = ConfigurationManager.ConnectionStrings["connstr3"].ConnectionString;
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                conn.Open();
                SqlTransaction tran = conn.BeginTransaction();//打開事務
                string sql = "insert into bank values(3,1000,003)";
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.Transaction = tran;//給cmd命令一個事務對象
                    int r = cmd.ExecuteNonQuery();
                    Console.WriteLine("是否執行?  y執行,n回滾");
                    string s = Console.ReadLine().ToLower();
                    if (s == "y")
                    {
                        tran.Commit();//執行
                    }
                    else if (s == "n")
                    {
                        tran.Rollback();//回滾
                    }
                    else
                    {
                        Console.WriteLine("您輸入的數據有誤");
                    }
                }
            }
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章