一、SqlConnection对象(连接数据库)
![](https://img2020.cnblogs.com/blog/2093475/202110/2093475-20211029144731530-1919188598.png)
二、SqlCommand对象(执行操作)使用完毕需要释放资源
1.ExecuteNonquery();//执行增删改
StatementCompleted事件,每条SQL语句执行完毕后触发
2.ExecuteScalar();//获取查询结果的首行首列的信息,执行有函数的sql语句
3.SqlDateReader();//获取查询数据结果集,执行查询语句
cmd.ExexuteReader()——》在服务器中生成查询数据,数据存在服务器
SqlDataReader read=cmd.ExexuteReader();——》read读取数据,读取一条释放一条
While(read.Read()){--->读取数据
if(read["列名"]!=DBNull.Value)——》判断获取数据是否为空
获取数据的3种方式
//1、通过列名获取数据read["列名"]
//2、通过索引获取数据read[0]
//获取指定列名下标 read.GetOrdinal("列名");
//3、获取数据
4.补充
output inserted.列名——》返回插入语句中某行某列信息
@@IDENTITY获取自增长信息(保证列中存在增长信息)
可空类型(针对于值类型数据)
数据库的Null表示不知道,不同于c#中的null含义,获取数据时判断获取数据是否为空应使用DBNull.Value