Visual Basic.NET程序设计课件:数据库的开发.ppt
如果数据表没有设置主键,则生成INSERT语句、UPDATA语句、DELETE语句会出现不成功现象。
(3)创建数据集。建立数据库连接之后,VB.NET可以基于数据适配器中设置的SQL查询语句自动生成数据集。方法如下:
●从“数据”菜单中选择“生成数据集”,显示“生成数据集”对话框,如图6-13所示。图6-5ADO.NET组件的结构1.DataSet数据集
DataSet是ADO.NET结构的核心组件,其作用在于实现独立于任何数据源的数据访问。DataSet在任何数据源中检索后得到数据并且将其保存在缓存中,它包含表以及所有表的约束、索引和关系。因此,也可以把它看做是内存中的一个小型关系数据库。
一个DataSet对象包含一组DataTable对象和DataRelation对象,其中每个DataTable对象由一组DataRow、DataColumn和Constraint对象组成。这些对象的含义如下:
●?DataTable对象:代表数据表。
●?DataRelation对象:代表两个数据表之间的关系。●?DataRow对象:代表DataTable中的数据行,即记录。
●?DataColumn对象:代表DataTable中的数据列,包括列的名称、类型和属性。
●?Constraint对象:代表DataTable中主键(或称主码)、外键(或称外码)等约束信息。
除了以上对象以外,DataSet中还包含DataTableCollection和DataRelationCollection等集合对象。
DataRow方法只能生成一个DataRow对象,并不能向表中添加新的行。2.NETFramework数据提供程序
ADO.NET结构的另一个核心元素是?.NET数据提供程序,设计该组件的目的是实现数据操作和对数据的快速、只读访问。数据提供程序在应用程序和数据源之间起着桥梁的作用。数据提供程序用于从数据源中检索数据并且保证对数据的更改与数据源一致。常用的数据提供程序包括SQLServer.NETFramework数据提供程序和OLEDB.NETFramework数据提供程序。表6-2列出了.NET框架中包括的?.NET数据提供程序。1)?SQLServer.NETFramework数据提供程序
SQLServer.NETFramework数据提供程序使用自身的协议与SQLServer进行通信。可以直接访问SQLServer而不用添加OLEDB或开放式数据库连接(ODBC)层,因此它的实现更加精简,并且具有良好的性能。SQLServer.NETFramework数据提供程序类位于System.Data.SqlClient命名空间。其引入代码如下:
ImportsSystem.Data.SqlClient
需要说明的是,若要使用SQLServer.NETFramework数据提供程序,则必须具有对MicrosoftSQLServer7.0或更高版本的访问权;对于MicrosoftSQLServer的较早版本,可使用SQLServerOLEDB数据源进行通信。2)?OLEDB.NETFramework数据提供程序
OLEDB.NETFramework数据提供程序通过OLEDB服务组件和数据源的OLEDB提供程序与OLEDB数据源进行通信。OLEDB.NETFramework数据提供程序类位于System.Data.OleDb命名空间。其引入代码如下:
ImportsSystem.Data.OleDb
3.ADO.NET对象及组件
.NET数据提供程序包含4个核心元素:Connection、Command、DataReader和DataAdapter对象。这些对象及其功能如表6-3所示。Connection对象提供与数据源的连接;Command对象能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令;DataReader用于从数据源中提供高性能的数据流;DataAdapter提供连接DataSet对象和数据源的桥梁。DataAdapter使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,并使对DataSet中数据的更改与数据源保持一致。
1)?Connection对象
在对数据源进行操作之前,首先需要建立与数据源的连接。可以使用Connection对象来创建连接对象。
Connection对象可以和DataAdapter对象一起创建,即从“工具