链接SQL、事务---小总结
ADO.NET
两个命名空间,三个类。
一、两个命名空间:
using System.Data;
using System.Data.SqlClient;
二、三个类:
SqlConnection SqlCommand SqlDataReader
(一)SqlConnection链接类
1.构造
链接字符串的写法:server=服务器IP或服务器名;database=数据库名;uid=用户名;pwd=密码
server=.;database=mydb;uid=sa;pwd=123
Data Source=.;Initial Catalog=mydb;Persist Security Info=True;User ID=sa;Password=***********
SqlConnection conn = new SqlConnection();
SqlConnection conn = new SqlConnection("链接字符串");
2.属性
ConnectionString:string,链接字符串
3.方法
Open()
Close()
CreateCommand()
(二)SqlCommand命令类
1.构造
SqlCommand cmd = new SqlCommand(["Sql语句",链接对象,事务对象]);
SqlCommand cmd = conn.CreateCommand();
2.属性
CommandText:string 要执行的SQL语句或存储过程的名子
Connection:SqlConnection 指定通过哪个链接访问数据库
Parameters:SqlParameterCollection类型 ,指定Sql文本中的变量的值。 AddWithValue("名","值")
CommandType:CommandType枚举类型,指定CommandText中是SQL语句(Text),还是存储过程(StoredProcedure)。
Transaction:SqlTransaction类型,执行命令时需要的事务对象
3.方法
ExecuteNonQuery()
ExecuteReader()
ExecuteScalar()
(三)SqlDataReader读取器类
1.构造
注意:不能直接new出来。只有唯一的一种生成方式
SqlDataReader dr = cmd.ExecuteReader();
2.属性
HasRows:bool,检查是否查出数据来了。
3.方法
Read():bool,读取数据,读取成功为true,否则为false
4.语法
while(dr.Read())
{
dr[索引号]
dr["列名"]
}
三、事务
(一)链接内事务
1.造事务对象。
2.挂到Command上
3.提交或回滚事务
(二)分布式事务(跨链接的事务)
1.启动 DTC服务
2.添加System.Transactions引用
3.添加using System.Transactions命名空间
4.使用TransactionScope类操作数据。