.
连接,然后调用Open方法来打开连接。通常建立链接时,要提供一些信息,如数据库所在位置、数据库名称、用户账号、密码等相关信息,Connection对象提供了一些常用属性用来进行此类设置。 (图)
SQLConnection的具体操作方法是: Dim myConnection as string
= ″server=localhost;uid=liuguo;pwd=12345;database=northwind″ Dim myConn As OleDbConnection = New OleDbConnection(myConnection) ADOConnection的具体操作方法是: Dim myConnection As string
= ″localhost;uid=liuguo;pwd=12345;Intial catalog=Northwind;″ Dim myConn As OleDbConnetion = New OleDbConnection(myConnection) MyConn.Open() 2.Commands对象
当链接到数据库之后,可以使用Command对象对数据库进行操作,如进行数据添加、删除、修改等操作。一个命令(Command)可以用典型的SQL语句来表达,包括执行选择查询(Select Query)来返回记录集,执行行动查询(Action Query)来更新(增加、编辑或删除)数据库的记录,或者创建并
.
.
修改数据库的表结构。当然命令(Command)也可以传递参数并返回值。 Command可以被明确的界定,或者调用数据库中的存储过程。 Dim objCmd as New OleDbCommand(″SELECT * From users″, objConn) 以上语句建立Command,根据习惯,也可以使用以下方法: Dim objCmd as New OleDbCommand() objCmd.Connection = objConn
objCmd.CommandText = ″SELECT * FROM users″ 3.DataReaders对象
DataReaders是专门用来读取数据的对象,这个对象除了读数据以外,不能做其他任何数据库操作。
Dim objReader as OleDbDataReader objReader = objCmd.ExecuteReader While objReader.Read
Response.Write(objReader.GetString(0) & ″ ″= End While
.
.
4.DataSet对象
DataSet是ADO.NET的核心。DataSet是一个存在于内存中的数据库,也就是说它是离线的,并没有同数据库建立即时的连线。在 ADO.NET中,DataSet是专门用来处理从数据保存体(Data Store)中读出的数据。不管底层的数据库是SQL Server还是ADO,DataSet的行为都是一致的。可以使用相同的方式来操作从不同数据来源取得的数据。
在DataSet中可以包含任意数量的DataTable(数据表),且每个DataTable对应一个数据库的数据表(Table)或视图 (View)。一般来说,一个对应DataTable对象的数据表就是一堆数据行(DataRow)与列(DataColumn)的集合。 DataTable会负责维护每一笔数据行保留它的初始状态(Original State)和当前的状态(Current State),以解决多人同时修改数据时引发的冲突问题。
DataSet是XML与ADO结合的产物,它的一个重要的特点是与数据库或SQL无关。它只是简单地对数据表进行操作,交换数据或是将数据绑定到用户界面上。 如以下这个例子:
Dim ds1 As New DataSet()
Dim dtable As new DataTable(″people″) With dtable.Columns
.
.
.Add(″FName″, System.Type.GetType(″System.String″)) .Add(″LName″, System.Type.GetType(″System.String″)) .Add(″UID″, System.Type.GetType(″System.Int32″)) End With
dtable.Columns(″UID″).AutoIncrement = True ds1.Tables.Add(dtable)
dim pkey() as DataColumn = {ds1.Tables(″people″).Columns(″UID″)} ds1.Tables(″people″).PrimaryKey = pkey 以上语句稍微有点复杂,我们来简单分析一下。
前半部分我们建立了一个DataSet和一个叫People的DataTable,然后,我们为这个DataTable加入了三个列并将“UID”列设为自动递增。最后,将这个DataTable加入到了DataSet。最后我们定义一个叫pkey()的主键,将其指向People。
二、数据的绑定
VB.NET没有自己的类库,它依托的是.NET FrameWork SDK中的类库,虽然在.NET FrameWrok SDK中并没有提供在VB中的的DbLabel、DbComboBox等数据库组件,但.NET FrameWork SDK中提供了一种数据绑定技术,可以
.
.
把打开的数据表中的某个或者某些字段绑定到在命名空间
System.Window.Forms中定义的 WinForm组件(如TextBox组件、ComboBox组件、Label组件等)中的某些属性上,从而提供这些组件显示出数据表中的记录信息,也就实现了DbTextBox、DbComboBox等组件。
(一)数据绑定和Windows窗体基础知识
数据绑定指的是一个过程,即在运行时自动为包含数据的结构中的一个或多个窗体控件设置属性的过程。具体而言,是指Windows窗体使用ADO.NET进行数据绑定的过程。使用数据绑定,你无需显式编写实例化连接和创建数据集的代码(而使用非绑定窗体则必须这样做),与Windows窗体相关联的向导将为你编写必要的ADO.NET代码。
Windows窗体使用户可以轻松绑定到几乎所有包含数据的结构。这表示用户可以使用ADO.NET绑定到传统的数据存储区(如存储在Access或 SQL Server表中的数据),也可以绑定到从文件读取的、包含在其他控件的或存储在阵列中的数据结果。将窗体绑定到数据后,就可以将窗体上的控件绑定到特定的数据元素。最传统的数据绑定包括将文本框控件(TextBox)的Text属性绑定到数据源的列,还可以绑定Image控件的图形、控件的背景或窗体上任意控件的其他任意属性。
Windows窗体可以进行两种类型的数据绑定:简单数据绑定允许将控件绑定到单个数据元素;复杂数据绑定允许将多个数据元素绑定到一个控件。
(二)数据与控件的绑定
.