标签:
DataSet东西当应用措施需要盘问数据时,可以使用DataReader东西读取数据,DataReader每次都只能读取一行数据到内存中,并且要一直与数据库连结连接.而且是只读只进型的读取要领.给措施想再次获得读取过的数据带来了麻烦.操作数据集,我们可以在断开与数据库连接的情况下操纵数据,可以操纵来自多个不异或差别数据源的数据
1.1认识DataSet东西我们可以把数据集简单的理解为一个姑且的数据库,他把应用措施需要的数据姑且生存在内存中,由于这些数据都缓存在本地机器上,就不需要一直生存和数据库的连接.当应用措施需要数据时,就直接从内存中的数据集读取数据,也可以对数据集中的数据进行改削,然后将改削后的数据一起提交到数据库.
数据集不直接和数据库打交道,它和数据库之间的彼此感化都是通过.Net数据供给措施来完成的,所以数据集是独立于任何数据库的.
1.2创建DataSetDateSet位于System.Data定名空间中,创建DataSet语法如下
[语法]:
DataSet 数据集东西 = new DataSet("数据集的名称字符串");
要领中的参数是数据集的名称,可以有,也可以没有,如果没有写参数,创建的数据集的名称默认为NewDataSet.
例如:
DataSet myDataSet = new DataSet();
DataSet myDataSet = new DataSet("MySchool");
2 DataAdapter东西数据适配器数据库和DataSet东西连接的桥梁
2.1认识DataAdapter东西 .NET 数据供给措施及DataAdapter类 .NET 数据供给措施连接类SQL 数据供给措施
System.Data.SqlClient定名空间中 SqlDataAdapter
OLE DB 数据供给措施
System.Data.OleDb定名空间中 OleDbDataAdapter
ODBC 数据供给措施
System.Data.Odbc定名空间中 OdbcDataAdapter
Oracle 数据供给措施
System.Data.OracleClient定名空间中 OracleDataAdapter
DataAdapter东西的主要属性和要领
属性:SelectCommand 从数据库检索数据的Command东西
要领
Fill() 向DataSet中的表填充数据
Update 将DataSet中的数据提交到数据库
2.2填充数据集使用DataAdapter填充数据集需要四个法式
(1)创建数据库连接东西
(2)创建从数据库盘问数据用的SQL语句
(3)操作上面创建的SQL语句和Connection东西创建DataAdapter东西
语法:
SqlDataAdapter 东西名 = new SqlDataAdapter(盘问用的SQL语句,数据库连接);
或者
SqlDataAdqpter adapter = new SqlDataAdapter();
SqlCommand command = new SqlCommand(盘问用的SQL语句,数据库连接);
adapter.SelectCommand = command;
(4)挪用DataAdapter东西的Fill要领填充数据集
语法:
DataAdapter东西.Fill(数据集东西,"数据表名称字符串");
Fill()要领接收一个数据表名称的字符串参数.如果数据集中本来没有这个数据表,挪用Fill()要领后就会创建一个数据表.如果数据集中本来有这个数据表,就会把此刻查出的功效继续添加到数据表中.
经验:
创建一个DataAdapter东西,都与Connection.Command东西有关,并且要编写SQL语句
在差此外代码段中,Connection东西呈现的位置可能差别
3.数据绑定数据绑定是为了在控件上显示数据库中存储的数据,而将应用措施的控件与数据库的任何列或行进行绑定的过程.VS使用DataSource属性为我们供给了静态和动态的数据绑定,教好的解决了这个问题,降低了代码的庞大度
3.1ComboBox数据绑定通过组合框实现绑定数据时,常使用的属性为:
DataSource 获取或设置数据源
DisplayMember 获取或设置要为此ListContiol显示的属性
ValueMember 获取或设置一个属性,该属性将用做ListControl中项的实际值.
4.认识DataGridView控件数据网格视图控件是一个很强大的控件,在DataGridView中还可以直接改削和删除数据.
DataGridView控件能够以表格的形式显示数据,可以设置为只读,也可以允许编纂数据.要想指定DataGridView显示哪个表的数据,只需要设置他的DataSource属性,使用一行代码就能实现
主要属性:
Columns 包罗列的调集
DataSource DataView的数据源
ReadOnly 是否可以编纂单元格
各列的主要属性:
DataPropertyName 绑定数据列的名称
HeaderText 列标题文本
Visible 制定列是否可见
Frozen 指定程度滚动DataGridView时列是否移动
ReadOnly 指定单元格是否为只读
4.使用DataGridView控件显示数据(1)添加控件
(2)设置DataGridView的属性和各列的属性
(3)筛选信息(盘问用)
(4)绑定DataGridView的数据源
4.生存对数据集的改削(1)使用SqlCommandBuilder东西生成更新用的相关命令
[语法]:
sqlCommandBuilder Builder = new SqlCommandBuilder(已创建的DataAdaptr东西);
(2)挪用DataAdapter东西的Update要领
DataAdaptre东西.Update(数据集东西,"数据表名称字符串");
经验:
SqlCommandBuilder只操纵单个表.也就是说,创建DataAdaptr东西时.使用的SQL语句只能从一个内外面查数据,不能进行联合盘问.
常见错误:
(1)不使用sqlCommandBuilder直接挪用Updata()要领
(2)操作DataGridView显示数据集中表时,没有为他的列设置DataPropertName属性
构建构造良好的Windows措施
,