一、Connection对象:连接数据源
1.主要属性:ConnectiongString:(指定连接数据库所需要的值字符串格式的描述,只有当连接处于关闭状态时才可以设定)
Database:(只读属性,返回与Connection对象连接的数据库。当连接处于关闭状态时:传回当初建立SqlConnection 组件时在连接字串中使用Initial Catalog 或 Database 关键字所指定的数据库名称;当连接处于开启状态时:传回连接目前所使用的数据库名称。)
State:(只读属性,取得连接目前的状态,0关闭,1开启)
2.主要方法:Close():使用连接字符串中的信息来连接数据来源并建立开放连接
Open():关闭连接
3.创建连接对象:
SqlConnection cn=new SqlConnection (conStr);//创建连接对象,并设置ConnectionString
4.连接形式:
ConnectionString="data source=.;initial catalog=studentdb;user id=sa;password=";//sql server 验证登陆
ConnectionString="data source=.;initial catalog=studentdb;integrated security=true";//windows 验证登陆
二、Command对象:发送执行数据库操作命令(检索和操作数据)
1.创建Command对象
Command cmd=new Command();
2.主要属性:
CommandText://sql语句或存储过程名(要对数据源执行的SQL语句或存储过程)
CommandType://解释CommandText属性的内容 ,默认是Text(枚举类型的,Text执行SQl语句;StoredProcedure执行存储过程)
Connection://连接对象(Command对象所要使用的Connection)
Transaction://执行命令所在的事务
CommandTimeout://在终止执行命令的尝试并生成错误提示信息之前的等待时间
Parameters://参数集合
主要方法:
Add():将参数添加到集合中
Clear():从集合中移除所有参数
Insert():将参数插入集合中的指定索引位置
Remove():从集合中移除所指定的参数
主要属性:
Count:获取集合中算是的数目
ParameterName:参数名
Value:参数值
Direction:参数方向 ,默认是输入参数
创建参数对象
第一种方式
SQlParameter p=new SqlParameter();
p.ParameterName="参数名";
p.value=值;
cmd.Parameters.Add(p);
第二种方式:
cmd.Parameters.Add(new SqlParameter("参数名",值))//创建参数对象,设置ParameterName和Value属性,并添加到集合中
3.方法:
ExecuteScalar();//返回执行SQL语句的第一行第一列的值,用于查询单列值
ExecuteReader();//返回一个DataReader对象[只读只向前的结果集],用于查询多个数据
ExecuteNoQuery();返回执行命令受影响的行数,用于增删改操作
三、DataReader对象:只读只向前的结果集
1、创建对象
不能直接创建一个DataReader对象,只能通过ExectureReader()得到DataReader对象,sqlDataReader rdr=cmd.ExecuteReader();
2、属性:
HasRows://是否有数据未读
FieldCount://字段数
IsClosed:判断DataReader对象是否关闭
3.方法
Read();//指针移到下一条记录,如果有数据返回true,否则返回false(判断并读取下一条记录)
Close();//关闭DataReader对象
四、DataAdapter对象:数据适配器
1创建DataAdapter对象
string strConn="Data Source=.;Initial Catalog=northwind;User ID=MyUserid;Password=myPassword;";//连接字符串
string strSQL="select * from sustomers";//SQL语句
用查询串和连接字符串
SqlDataAdapter da=new SqlDataAdapter (strSQL,strConn);
该方式会为每个SqlDataAdapter 创建一个新的SQLconnection对象,应适当选择。
用查询串和连接对象
SQLconnection cn=new sqlConnection(strConn);
SqlDataAdapter da=new SqlDataAdapter (strSQL,cn);
比较常用的方式
使用sqlcommand对象
SqlCommand cmd=new SqlCommand(strSQL,cn);
SqlDataAdapter da=new SqlDataAdapter (cmd);
已存在一个sqlcommand对象时使用
2、主要方法:
Fill():填充数据集(4种常用的重构方法)
Fill(DataSet);DataSet结果集
Fill(DataTable);DataTable对象
Fill(Int32,Int32,params DataTable[]); 开始记录索引 要填充的数据表的行数 DataTable对象
Fill(DataSet, Int32,Int32,String) ;DataSet结果集对象 开始记录的索引 要填充的数据集的行数 表名
3、主要属性:
SelectCommand:在数据源中检索数据的数据命令
InsertCommand:在数据源中插入数据的数据命令
UpdateCommand:在数据源中更新数据的数据命令
DeleteCommand:在数据源中删除数据的数据命令
4个命令属性的应用:
SqlDataAdapter adapter = new SqlDataAdapter();//创建SqlDataAdapter对象
SqlCommand command = new SqlCommand("SELECT * FROM STUDENT " + "WHERE SAGE = @SAGE", connection);
command.Parameters.Add("@SAGE",SqlDbType.Int);
command.Parameters[0].Value = age;
adapter.SelectCommand = command;
其他命令属性的设置与SelectCommand类似,只将对应的sql 改为 update、insert、delete即可
TableMappings:DataTableMapping 对象的集合,决定DataSet中的行与数据源之间的关系
TableMappings应用:
SqlDataAdapter adapter = CreateDataAdapter(conn, age);
DataSet ds = new DataSet();
DataTableMapping mapping = adapter.TableMappings.Add("Table", "学生表");
mapping.ColumnMappings.Add("SNO", "学生编号");
mapping.ColumnMappings.Add("SName", "学生姓名");
mapping.ColumnMappings.Add("SDept", "所在院系");
mapping.ColumnMappings.Add("SClass", "所在班级");
mapping.ColumnMappings.Add("SSex", "性别");
mapping.ColumnMappings.Add("SAge", "年龄");
adapter.Fill(ds);
dataGridView1.DataSource = ds.Tables["学生表"];//使用设置好的映射表名字。
dataGridView1.Refresh();
目前只整理了这些,会以最快的速度补上。