VB+数据库学习教程(5)

2019-08-29 18:18

cnn1.CommitTrans Else

cnn1.RollbackTrans End If

'打印记录集中的当前数据。 rstTitiles.Requery rstTitles.MoveFirst

Do While Not rstTitles.EOF

Debug.Print rstTitles!Title&\ rstTitles.MoveNext

Loop

'恢复原始数据,因为这是一个演示

rstTitles.MoveFirst

Do Until rstTitles.EOF

If Trim(rstTitles!Type)=\ rstTitles!Type=\ rstTitles.Update End If

rstTitles.MoveNext Loop

rstTitles.Close cnn1.Close

End Sub此例更改了数据库中Titles表中所有心理学书籍的类型。在BeginTrans方法启动事务将所有对Titles表的更改隔离后,CommitTrans方法将保存更改。可使用Rollback方法撤消用Update方法保存的更改。

2.Open方法

Open方法打开一个数据源的连接,语法如下:

connection.Open ConnectionString,UserID,Password,OpenOptions 参数说明:

▲ConnectionString:这是一个可选的字符串,它包含了连接信息。 ▲UserID:可选的字符串,它包含了建立连接时所使用的用户名称。 ▲Password:可选的字符串,它包含了建立连接时所使用的密码。

▲OpenOptions:可选的字符串,它包含了建立连接时所使用的连接方式。

3.Close方法

Close方法关闭一个到数据源的连接。在关闭的同时,此连接所使用的任何资源都会被释放。它的语法如下:

Object.Close

例:使用Connection对象的Open和Close方法的示例代码。 Public Sub OpenClose_Example() Dim conn As ADODB.Connection

'Open the Connection object,omit the password conn.Open \ 'Use the Connection object here...

'Close the Connection

conn.Close

End Sub4.Execute方法

Execute方法用来执行查询或由数据源支持的其他命令,并且返回一个RecordSet对象,语法如下:

Set recordset=connection.Execute(CommandText,Recordsaffected,Options) 参数说明:

▲CommandText:这是一个包含要执行的SQL语句、表名、存储过程或特定提供者的文本的字符串。

▲RecordsAffected:这是一个可选的长整型变量,提供者向其返回操作所影响的记录数目。

▲Options:可选的长整型变量,指示提供者应如何为CommandText参数赋值。 例:使用Connection对象的Execute方法的示例代码。 Public Sub Execute_Example()

Dim cnn As ADODB.Connection

Dim MyRecordset As ADODB.Recordset Dim Mysql As String

Set cnn=New ADODB.Connection

Set MyRecordset=New ADODB.Recordset cnn.Open \ Mysql=\ MyRecordset=cnn.Execute Mysql cnn.Close

MyRecordset.Close

End Sub5.OpenSchema方法

OpenSchema方法从提供者中获取数据为纲要信息,语法如下: Set recordset=connection.OpenSchema(QueryType,Criterisa,SchemaID) 参数说明:

▲QueryType:QueryType参数指出所要运行的纲要查询类型。

▲Criteria:可选参数,指出每个QueryType选项的查询限制条件数组。

▲SchemaID:OLE DB规范没有定义提供者纲要查询的GUID。如果QueryType设置为adSchemaProviderSpecific,则需要该参数,否则不使用它。

例:使用Connection对象的OpenSchema方法的示例代码。 Public Sub OpenSchemaX()

Dim cnn1 As ADODB.Recordset

Dim rstSchema As ADODB.Recordset Dim strCnn As String

Set cnn1=New ADODB.Connection

strCnn=\ cnn1.Open strCnn

Set rstSchema=cnn1.OpenSchema(adSchemaTables)

Do Until rstSchema.EOF

Debug.Print \ rstSchema!TABLE_TYPE&VbCr

rstSchema.MoveNext

Loop

rstSchema.Close cnn1.Close End Sub

上例使用了OpenSchema方法显示Pubs数据库内每个表的名称和类型。

vb神童教程(续)--vb连接Access数据库实例

下面我们给出一个连接到Access数据库的实例,此例中用到的数据库为Access 2003。首先在e盘建立一个名为vb的文件夹,然后打开Access 2003,单击“文件”→“新建”,在右侧出现的任务窗格中单击“空数据库”,在出现的对话框中,我们在\文件名\项后输入给新数据库起的名称并选择保存位置,这里我们为新数据库命名为Access_db并保存到我们刚才建立的文件夹中,如下图,单击\创建\按钮后,系统就生成了一个新的Access空数据库。 在空数据库中,还没有任何用户所创建的表,接下来我们就要使用设计器(如下图)为Access_db数据库建立表。

首先我们为Access_db创建一个名为“wzdz”的表,该表由以下4个字段组成: (1)编号:此为Access自动添加的主键字段,我们直接拿来使用。我们可直接设置后三个字段,在输入完了wzdz表的各个字段之后,此时关闭表设计器,Access会提示是否要进行保存表,选择“是”,然后为表起名为“wzdz”。因为没有定义主键(primary Key),Access会提示为表加上一个主键,按提示将编号设置为主键即可。

(2)后三个字段分别为网站名称、网站地址和网站描述,三个字段的属性是相同的,如下:

▲数据类型:文本。

▲字段大小:50

▲有效性规则:无。 ▲必填字段:否

▲允许空字符串:否

▲索引:无

设置完以上字段后,再重新在设计视图中打开wzdz表(方法:在设计器中右击wzdz表名,选“设计视图”命令),应如下图所示:

有了数据库和表之后,如果想让VB应用程序访问数据库,还需进行数据源的配置。只有在配置完成了数据源之后,才能让VB应用程序同数据库进行正确的连接工作,在VB应用程序中才可以通过ADO对象来进行具体数据的操作,如果在建立了数据库之后没有对数据源进行配置或者对数据源的配置工作出现错误,则在此之前所做的一切工作都是白费的。 我们按上一章所述的步骤进行ODBC数据源的配置,建立一个名为Access_db的用户DSN,接下来我们使用VB去具体地连接到Access_db数据库。

首先打开VB,新建一个标准exe工程,在工程的form1中我们输入如下的代码: Private Sub Form_Load()

Dim cnn As ADODB.Connection Dim my_recordset As ADODB.Recordset Dim connect_string As String Dim statestring As String Set cnn=New ADODB.Connection Set my_recordset=New ADODB.Recordset '连接Access数据库

connect_string=\

cnn.Open connect_string

Select Case cnn.State Case adStateClose

statestring=\ Case adStateOpen

statestring=\ End Select

'显示连接的状态

MsgBox \连接成功!\ '对wzdz表进行查询操作

my_recordset.Open \ my_recordset.Close

End Sub本段连接数据库的代码是写在窗体的Form_Load()子过程中的,对数据库的连接工作是在程序一开始即窗体的加载过程中进行的。在Form_Load()中,首先定义了一个Connection对象cnn和一个RecordSet对象my_recordset,以及两个字符串类型的变量connect_string和statestring,接下来的两个Set语句是为了生成一个Connection对象cnn和一个RecordSet对象my_recordset。然后是连接Access数据库,先把连接字符串“DSN=Access_db;UID=;PSW=\赋给字符串变量connect_string。连接字符串中的具体各项内容是根据ODBC数据源的配置而定的,不同的配置方式和配置内容就会有不同的连接字符串。cnn的Open事件用来执行与数据库的连接工作。为了验证与数据库的连接是否正确,这里我们读取了cnn的State属性。State属性可用用来说明其对象状态是打开或关闭的。在使用了State属性后,通过系统函数MsgBox把与数据库的连接状态显示给用户。如果连接状态是打开的,对话框标题栏的文字是“adStateOpen\,如下图:

如果连接状态是关闭,则对话框标题栏显示“adStateClose”。 其后的语句my_recordset.Open \,cnn则示范了如何从数据库中查询所需要的数据。

注意:在程序中每当用一个Set语句来生成一个Connection或RecordSet对象时,最后使用完毕之后应操作使用Close方法对其进行关闭操作。

例程调试中可能出现的问题:

上述代码运行时可能会显示\用户定义类型未定义\,错误定位在“Dim cnn As ADODB.Connection”这一句上。

解决方法:单击“工程”→“引用”,勾选“Microsoft ActiveX Data Object 2.6”,再运行程序即无此问题.

vb神童教程(续)--使用ADO Data控件连接Access的简单实例

ADO Data控件使用Microsoft ActiveX数据对象(ADO)来快速建立数据绑定的控件和数据提供者之间的连接.尽管可以在应用程序中直接使用ActiveX数据对象,但ADO Data控件有作为一个图形控件的优势(具有“向前”和“向后”按钮),以及一个易于使用的界面,使


VB+数据库学习教程(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:军事理论复习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: