当前位置:Gxlcms > 数据库问题 > c#访问数据库的两种方法以及事务的两种方法

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

时间:2021-07-01 10:21:17 帮助过:2人阅读

//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 }

 

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

标签:

人气教程排行