c#访问数据库的两种方法以及事务的两种方法

 1 //2015/07/03
 2 using System;
 3 using System.Collections.Generic;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Threading.Tasks;
 7 using System.Data;
 8 using System.Data.SqlClient;
 9 
10 namespace Ado.netstart_1
11 {
12     class Program
13     {
14         static void Main(string[] args)
15         {
16             //特殊的字符串,数据库连接串
17             //第一种
18             string connectionString = "server=.;database=BookSample;uid=LJK;pwd=123456;";
19             //第二种
20             //windows身份验证
21             //当使用windows身份验证的时候,windows用户就是运行程序的用户
22             //string connectionString = "server=.;integrated security=true;database=BookSample";
23 
24             //用来访问数据库的类
25             SqlConnection connection = new SqlConnection(connectionString);
26 
27             try
28             {
29                 //与数据库建立连接
30                 connection.Open();
31                 Console.WriteLine("已经建立连接");
32 
33                 //sql就是一个字符串
34                 string sql = "insert into students(ID,StuName,Phone,Address,City,State) values(7,'aaa','1318697125','zz','bb','ccc')";
35                 //SqlCommand 表示发送数据库执行SQL命令
36                 SqlCommand command = new SqlCommand(sql,connection);
37                 //将命令发送到数据库执行
38                 //sql语句可分为:查询语句和非查询语句
39 
40                 //默认工作在自动事务之下
41                 //如果工作在手动事务之下
42                 //begin transaction
43                 //rollback / commit
44 
45                 //在执行sql dml之前,启动事务
46                 SqlTransaction trans = connection.BeginTransaction();//事务对象
47                 
48                 //设定命令所属的事务管理
49                 command.Transaction = trans;
50 
51 
52                 int effectCount = command.ExecuteNonQuery();
53                 Console.WriteLine("{0} 行受影响",effectCount);
54 
55                 Console.Write("命令已经执行,事务还没有提交,你确定提交吗?Y/N");
56                 string line = Console.ReadLine();
57                 if (line.Substring(0, 1).ToUpper() == "Y")
58                 {
59                     trans.Commit();
60                     Console.WriteLine("事务已经提交");
61                 }
62                 else
63                 {
64                     trans.Rollback();
65                     Console.WriteLine("事务已经回滚");
66                 }
67             }
68             catch (SqlException exception)
69             {
70                 Console.WriteLine(exception.Message);
71             }
72             finally
73             { 
74                 //或者断开与数据库的连接
75                  connection.Dispose();
76                  //connection.Close();
77                  Console.WriteLine("已经断开连接");
78             }
79             Console.ReadKey();
80         }
81     }
82 }
原文地址:https://www.cnblogs.com/IamJiangXiaoKun/p/4620917.html