2022年VB数据库 .pdf
vb 神童教程 (续 )-ODBC 数据源简介ODBC(开放式数据库连接)是一种应用程序的接口(API) 。这种接口提供了独立于任何的数据管理系统编写应用程序的能力。OCBC 通过 ODBC 驱动程序提供了对不同的数据库供应商的一组应用程序接口来给特殊的数据库管理系统(DBMS ) 。用户的应用程序使用这组API 来调度 ODBC 驱动程序。然后驱动程序通过SQL 语句同 DBMS 发生联系。下面我们开始介绍ODBC 数据源。在“我的电脑”中打开“控制面板”中的“管理工具”,在窗口中即可见ODBC 数据源图标。双击打开 ODBC 数据源管理器,如下图所示:ODBC 数据源管理器为配置、添加、 删除各种不同的数据源名称提供了最为简洁的方法。它使得用户可以轻松地完成数据源的配置工作,用户也可以删除原有的DSN(数据源名称) ,或对先前配置的数据源进行修改。ODBC 数据源管理器的具体功能如下:用户DSN:ODBC 用户数据源存储了如何与指定数据提供者连接的信息。用户数据源只对当前的用户可见,而且只能应用在本机上。系统DSN: ODBC 系统数据源存储了如何与指定数据提供者连接的信息。系统数据源对当前机器上的所有用户可见。文件 DSN:ODBC 文件数据源允许用户连接数据提供者。文件DSN 可以由安装了相同驱动程序的用户共享。驱动程序: ODBC 驱动程序允许那些支持ODBC 的程序通过ODBC 数据源获取信息。如名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 21 页 - - - - - - - - - 果安装新的驱动程序,要使用其安装程序。跟踪: ODBC 跟踪允许创建调用ODBC 驱动程序的日志,以供技术人员查看;也可以辅助调试应用程序。Visual Studio 跟踪启动Microsoft Visual Studio的 ODBC 跟踪。连接池:连接池允许应用程序重新打开连接句柄,此操作将往返过程存入服务器。vb 神童教程 (续)- 配置 Access数据源(1)打开控制面板中的ODBC 数据源管理器, 在 “用户 DSN” (即“用户数据源” )中选择“MS Access Database”选项,可心删除或配置一个已有的用户数据,这里我们将要添加一个数据源。(2)单击添加按钮,系统将准备在MS Access Database下添加一个用户数据源,为了安装数据源,会弹出创建新数据源窗口,如下图:(3)在创建新数据源窗口中,选择Microsoft Access Driver 来安装数据源。(4)单击“完成”按钮,进入ODBC Microsoft Access安装窗口,如下图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 21 页 - - - - - - - - - 在“数据源名”项中键入数据源的名称,这里我们键入“Access_db”作为数据源名。在 “描述”项中键入对数据源的描述,此处内容可选, 这里我们键入 “This is Access database temp” 。在“数据库”项中可以选取、创建、修复或者压缩数据库。这里我们选择“选取”按钮来选取相应的Access 数据库。如果用户没有自己建立的Access 数据库,那么用户可以到安装Access 的目录下面选取Access 自带的数据库。注意:Access 数据库文件的扩展名是.mdb。最后,单击“确定”按钮。至此一个新的Access 数据源已经添加完成,如下图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 21 页 - - - - - - - - - 说明:如果用户希望所创建的数据源名被本机中的多个用户所使用,请用户添加系统DSN。在实际情况中,开发一个单机单用户的系统没有什么意义,所以一般都需要对系统DSN 进行配置。系统DSN 的添加过程同用户DSN 添加过程类似。vb 神童教程 (续)- 配置 SQL Server 数据源配置 SQL Server 数据源的步骤:(1) 打开控制面板中的ODBC 数据源管理器,单击“添加”按钮来添加一个数据源。(2)单击添加按钮后,系统将准备添加一个用户数据源。为了安装数据源,会弹出创建新数据源窗口,如下图所示。 由于 VB 和 SQL Server 的系列性,所以即使用户没有安装SQL Server,在创建新数据源窗口中也列有SQL Server 这一项。当然,这里的列表项只是起了一个标识作用,如果用户尚未安装SQL Server,请先安装后再进行以下的步骤。(3)在上图选择 “SQL Server”后,单击“完成”按钮,进入“创建新的数据源到SQL Server”窗口,如下图所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 21 页 - - - - - - - - - 在“名称”项中键入新的数据源名,这里我们键入SQL Server1 作为新数据源名称。在“描述”项中键入对数据源的描述,此处可以不填。在“服务器”项中键入想连接的SQL Server 服务器。如果要连接的SQL Server 是安装在本机上,那么就从下拉框中选择“Local” ,local 表示的是连接到本地的服务器。如果要连接的 SQL Server 是安装在其它的服务器上,那么就应从下拉框中选取相应的选项。如果从列表中选择服务器名称,则不需要更多的配置。如果输入一个不存在的服务器的名字作为SQL Client Configuration Utility中的一项,可在向导的下一个屏幕上为新名字创建一个服务器别名。单击“完成”按钮完成新数据源的配置。单击“下一步”按钮进行下一步的配置工作。在“ SQL Server”应该如何验证登录标识号的真伪?”下面有两个单选项供用户选择。如果选定“使用用户输入登录标识号和密码的SQL Server 验证”, 请指定连接到SQL Server时 SQL Server 驱动程序使用的登录标识号。这仅适用于确定服务器默认配置的连接,而不适用于使用已创建数据源进行的后续连接。如果选定“使用用户输入登录标识号和密码的SQL Server 验证 “, 请指定连接到SQL Server时 SQL Server 使用的密码。这只适用于确定服务器默认配置的连接,而不适用于使用新数据源进行的后续连接。(5)单击“下一步”按钮将进行连接的验证。如果正确,则连接成功;否则,系统会指出具体的错误,用户应该重新验证输入的正确性。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 21 页 - - - - - - - - - vb 神童教程 (续)-VB 的 ADO 对象ADO 简介参考资料:ADO 简介 :http:/ ado对象模型 :http:/ ADO 是另一种用于开发访问OLE DB 数据源应用程序的API。有多种程序设计语言都支持ADO ,如 VB ,VC+ ,VJ+等。 ADO 提供了较为高级并容易被理解的访问OLE DB 数据源的机制,它结合了DAO 和 RDO 的优点。并提供了OLE DB 数据源的入口。OLE DB 是一种数据库体系结构, 它为企业网络提供了普遍的数据综合能力(从大型机到桌面上的数据,而不管数据的具体类型是什么),与 ODBC 相比, OLE DB 在数据通道方面更具有普遍性和有效性,这是因为它允许同建立在COM 基础上的更多的数据类型联系和由于ADO 是为开发客户机 /服务器程序而专门设计的。下图是典型的ADO 应用程序的结构。ADO 的特征如下 : 支持成批更新.即对更新的多个记录进行缓冲,并同步传输到服务器。支持所有类型的光标。包括只能前移型,关键值型以及动态和静态型。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 21 页 - - - - - - - - - 支持服务器端的存储过程。这些过程可以大大提高应用程序的通用性。支持返回多个记录集的查询。支持查询目的。包括限制返回的记录的个数,激活返回记录的过滤和预先语句。ADO 是由以下对象组成的:Command,Connect,Error,Field,Parameter 和 RecordSet。下图给出了 ADO 对象的层次结构。除了Error 和 Field 之外的所有ADO 对象都是可以单独创建的,而 Command,Error 和 Parameter对象是可选的。vb 神童教程 (续 )-vb adodb Connection 对象简介Connection 对象介绍Connection 对象支持许多属性,可以利用这些属性来操作当前的连接状态或者获取一些基本的 Connection 对象的信息 .有一些属性是只读的,而另一些属性是可读写的. 1.Attributes 属性Attributes 属性设置或返回一个整型值,它用来指示对象的一项或多项特性.对于 Connection 对象,Attributes 属性为读 /写,并且其值可能为以下任意一个或多个XactAttributeEnum 值的和 (默认为零 ). AdXactCommitRetaining:执行保留的提交,即通过自动调用CommitTrans 启动新事务。并非所有提供者都支持该常量。AdXactAbortRetaining: 执行保留的中上, 即通过自动调用RollbackTrans 启动新事务。 并非所有提供者都支持该常量。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 21 页 - - - - - - - - - 2.CommandTimeout 属性CommandTimeout属性设置或返回长整型值,该值指示等待命令执行的时间(单位为秒)。默许值为30,指示在终止尝试和产生错误之前执行命令期间需要等待的时间。使用Connection 对象或 Command 上的 CommandTimeout 属性,允许由于网络拥塞或服务器负载过重产生的延迟而取消Execute 方法调用。 如果在 CommandTimeout 属性中设置的时间间隔内没有完成命令执行,将产生错误, 然后 ADO 将取消该命令。 如果将该属性设置为零,ADO将无限期等待直到命令执行完毕。3.ConnectionString 属性ConnectionString 属性设置或返回字符串值,这个字符串值包含用来建立到数据源的连接的信息.使用 ConnectionString 属性 ,通过传递包含一系列由分号分隔的argument=value 语句的详细连接字符串可指定数据源。ADO 支持 ConnectionString 属性的四个参数,任何其他参数将直接传递到提供者而不经过ADO 处理。Provider 参数:指定用来连接的提供者名称。File Name 参数:指定包含预先设置连接信息的特定提供者的文件名称。Remote Provider 参数:指定打开客户端连接时使用的提供者名称。Remote Server 参数:指定打开客户端连接时使用的服务器的路径名称。例:使用 Connection 对象的 ConnectionString 属性的示例代码Public Sub ConnectionString_Example() Dim connection1 As ADODB.Connection Dim connection2 As ADODB.Connection Dim connection3 As ADODB.connection Dim connection4 As ADODB.Connection 不使用数据源名(DSN) 打开连接Set connection1=New ADODB.Connection connection1.ConnectionString=driver=SQL Server;&_ server=Myserver;uid=sa;pwd=password;database=pubs connection1.ConnectionTimeout=30 connection1.Open 使用 DSN 和 ODBC 标记打开连接。Set connection2=New ADODB.Connection connection2.ConnectionString=DSN=Pubs;UID=sa;PWD=password; connection2.Open 使用 DSN 和 OLE DB 标记打开连接。Set connection3=New ADODB.Connection 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 21 页 - - - - - - - - - connection3.ConnectionString=Data Source=Pubs;User ID=sa;Password=password; connection3.Open 使用 DSN 和单个参数而非连接字符串打开连接。Set connection4=New ADODB.Connection connection4.Open Pubs,sa,pwd End Sub 注意:如果没有复选“引用”对话框中的Data Access Object,程序会出错。在上面的程序段中,先定义了4个 Connection 对象的变量。这4 个变量分别对应于4 种不同的连接方式。语句 Set connection1=New ADODB.Connection是创建一个新的Connection 对象,然后再调用 Connection 对象的 Open 方法来打开数据库连接。4.ConnectionTimeout 属性ConnectionTimeout 属性设置或返回指示等待连接打开的时间的长整型值(单位为秒)。其默认值为15,指示在终止尝试和产生错误前建立连接期间所等待的时间。如果由于网络拥塞或服务器负载过重导致的延迟使得必须放弃连接尝试时,请使用Connection 对象的ConnectionTimeout 属性。 如果打开连接前所经过的时间超过ConnectionTimeout 属性上设置的时间,将产生错误并且ADO 将取消该尝试。如果将该属性设置为零,ADO 将无限等待直到连接打开。5.DefaultDatabase 属性DefaultDatabase 属性可设置或返回指定Connection 对象上默认数据库的名称。例:使用 Connection 对象的 DefaultDababase 属性的示例代码。Public Sub DefaultDatabase_Example() Dim connection1 As ADODB.Connection Set connection1=New ADODB.Connection connection1.ConnectionString=driver=SQL Server;&_ server=Myserver;uid=sa;pwd=password cnn1.Open cnn1.DefaultDatabase=pubs End Sub 6.IsolationLevel 属性IsolationLevel 属性指出Connection 对象如何处理对象。7.Mode 属性Mode 属性设置或返回以下某个ConnectModeEnum 的值,指示用于更改在Connection 中的名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 21 页 - - - - - - - - - 数据的可用权限。AdModeUnknown: 默认值。表明权限尚未设置或无法确定。AdModeRead: 表明权限为只读。AdModeWrite: 表明权限为只写。AdModeReadWrite: 表明权限为读/写。AdModeShareDenyRead: 防止其他用户使用读权限打开连接。AdModeShareDenyWrite: 防止其他用户使用写权限打开连接。AdModeShareExclusive: 防止其他用户打开连接。AdModeShareDenyNone: 防止其他用户使用任何权限打开连接。8.Provider 属性Provider 属性指出当前数据提供者的名字,或者是使用Open()方法时没有指定名字的情况下所使用的提供者名。但是,调用Open 方法时如果在多处指定提供者可能会产生无法预料的后果。如果没有指定提供者,该属性将默认为MSDASQL(Microsoft OLE DB Provider for ODBC) 。例:使用 Connection 对象的 Provider 属性的示例代码。Public Sub Provider_Example() Dim connection1 As ADODB.Connection Set connection1=New ADODB.Connection connection1.Provider=Microsoft.Jet.OLEDB.3.51 connection1.OpenC:samplesnorthwind.mdb,admin, End Sub 9.State 属性State 属性对所有可应用对象都可用,它用来说明其对象状态是打开或关闭的。可以随时使用 State属性来确定指定对象的当前状态。该属性是只读的,并返回下列常量之一的长整型值。AdStateClosed:默认值,指示对象是关闭的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 21 页 - - - - - - - - - AdStateOpen:指示对象是打开的。AdStateConnecting: 指示 Recordset 对象正在连接。AdStateExecuting: 指示 Recordset 对象正在执行命令。AdStateFetching:指示 Recordset 对象的行正在被读取。例:使用 Connection 对象的 State属性的示例代码。Public Sub State_Example() Dim connection1 As ADODB.Connection Dim statestring AS String Set connection1=New ADODB.Connection connection1.ConnectionString=DSN=Pubs;UID=sa;PWD=password; connection1.Open Select Case connection1.State case adStateClosed statestring=adStateClosed case adStateOpen statestring=adStateOpen End Select 显示连接的状态。MsgBox connection1.State:,statestring End Sub Connection 对象的方法Connection 对象的方法用来管理事务、执行命令、打开和关闭连接。需注意的是,ADO 对象所支持的方法是独立于当前所使用的数据源的。例如一个OLE DB 数据源不必支持OLE DB 规范的全部功能。1.BeginTrans 方法BeginTrans 方法开始一个连接到数据源的新事务,即启动一个新的事务。与之相应的还有CommitTrans 和 RollbackTrans 方法。 CommitTrans 保存所有的更改并结束当前事务,它也可以用来启动一个新的事务。RollbackTrans 取消当前事务中所做的任何更改并结束事务,同CommitTrans 类似,它也可以用来启动一个新的事务。它们的语法为:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 21 页 - - - - - - - - - Object.BeginTrans Object.CommitTrans Object.RollbackTrans 需注意,并非所有提供者都支持事务。需验证提供者定义的属性Transaction DDL 是否出现在 Connection 对象的 Properties 集合中,如果在则表示提供者支持事务。如果提供者不支持事务,调用其中的某个方法将返回错误。一旦调用了BeginTrans 方法, 在调用 CommitTrans或 RollbackTrans 结束事务之前提供者将不再立即提交所做的任何更改。例:使用 Connection 对象的 BeginTrans、CommitTrans 和 RollbackTrans 方法的示例代码。Public Sub BegiTrans_Example() Dim cnn1 As ADODB.Connection Dim rstTitles As ADODB.Recordset Dim strCnn As String Dim strTitle As String Dim strMessage As String 打开连接。strCnn=Provider=sqloledb;Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; Set cnn1=New ADODB.Connection cnn1.Open strCnn 打开 Titles 表Set rstTitles=New ADODB.Recordset rstTitles.CursorType=adOpenDynamic rstTitles.LockType=adLockPessimistic rstTitles.Open titles,cnn1,adCmdTable rstTitles.MoveFirst cnn1.BeginTrans 在记录集中循环并询问是否想要更改指定标题的类型. Do Until rstTitles.EOF If Trim(rstTitles!Type)=psychology Then strTitle=rstTitles!Title strMessage=Title:&strTitle&vbCr&Change type to self help? 更改指定雇员的标题If MsgBox(strMessage,vbYesNo)=vbYes Then rsttitles!Type=self_help rstTitles.Update End If Enf If rstTitles.MoveNext 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 21 页 - - - - - - - - - Loop 询问用户是否想提交以上所做的全部更改If MsgBox(Save all changes?,vbYesNo)=vbYes Then cnn1.CommitTrans Else cnn1.RollbackTrans End If 打印记录集中的当前数据。rstTitiles.Requery rstTitles.MoveFirst Do While Not rstTitles.EOF Debug.Print rstTitles!Title&-&rstTitles!Type rstTitles.MoveNext Loop 恢复原始数据,因为这是一个演示rstTitles.MoveFirst Do Until rstTitles.EOF If Trim(rstTitles!Type)=self_help Then rstTitles!Type=paychology 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: 可选的字符串,它包含了建立连接时所使用的用户名称。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 21 页 - - - - - - - - - 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 Data Source=MyDatabase,john 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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 21 页 - - - - - - - - - Set MyRecordset=New ADODB.Recordset cnn.Open Data Source=MyDatabase,john Mysql=Select * From Books 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=Provider=sqloedb;Data Source=srv;Initial catalog=pubs;User ID=sa;Password=: cnn1.Open strCnn Set rstSchema=cnn1.OpenSchema(adSchemaTables) Do Until rstSchema.EOF Debug.Print Table name:&rstSchema!TABLE_NAME&vbCr&Table type:&_ rstSchema!TABLE_TYPE&VbCr rstSchema.MoveNext Loop rstSchema.Close cnn1.Close End Sub 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 21 页 - - - - - - - - - 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 有效性规则:无。必填字段:否名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 21 页 - - - - - - - - - 允许空字符串:否索引:无设置完以上字段后,再重新在设计视图中打开wzdz 表(方法:在设计器中右击wzdz 表名,选“设计视图”命令) ,应如下图所示:有了数据库和表之后,如果想让VB 应用程序访问数据库,还需进行数据源的配置。只有在配置完成了数据源之后,才能让 VB 应用程序同数据库进行正确的连接工作,在VB 应用程序中才可以通过ADO 对象来进行具体数据的操作,如果在建立了数据库之后没有对数据源进行配置或者对数据源的配置工作出现错误,则在此之前所做的一切工作都是白费的。我们按上一章所述的步骤进行ODBC 数据源的配置,建立一个名为Access_db 的用户 DSN,接下来我们使用VB 去具体地连接到Access_db 数据库。首先打开 VB ,新建一个标准exe 工程,在工程的form1 中我们输入如下的代码:Private Sub Form_Load() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 21 页 - - - - - - - - - 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=DSN=Access_db;UID=;PSW= cnn.Open connect_string Select Case cnn.State Case adStateClose statestring=adStateClosed Case adStateOpen statestring=adStateOpen End Select 显示连接的状态MsgBox 连接成功! ,statestring 对 wzdz 表进行查询操作my_recordset.Open Select * from wzdz,cnn 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 的