




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录第一部分:vb数据库操作实例编写一个小型的信息管理系统 准备数据库 设计系统的界面及对象的属性 form1的load事件代码第二部分:补充内容ODBC数据源简介 配置Access数据源 配置SQL Server数据源 VB的ADO对象 adodb Connection对象简介vb连接Access数据库实例 使用ADO Data控件连接Access的简单实例结尾vb神童教程(续)-编写一个小型的信息管理系统受委托为编程入门网做一个简单的vb操作数据库的实例,来演示一下如何用vb向数据库中添加、修改、删除记录这些操作。我觉得自己是比较菜的,几年来别人都在进步,只有我还在原地踏步。不过没有办法,我们这一圈人里现在只有我机器上还有vb6,勉为其难,只有尝试一下了。如果我写的这点幼稚的东西能为想要了解vb数据库操作的朋友提供哪怕是一丁点儿的参考和帮助,将是我最为高兴的事情,同时也希望高手不要见笑。我做的这个实例名为“编程入门网网址管理系统”,算是一个小型的信息管理系统吧。该系统后台使用的是Access数据库,程序中使用ADO代码链接的形式连接Access。该系统具有向数据库中添加、修改、删除记录的功能,进行某项操作后能够实时刷新显示数据。并在程序中加了相应的代码对输入的数据进行合法性校验,以避免输入错误的数据造成程序运行不正常,程序运行时各个操作及退出系统时均有友好的提示框请用户确认。所有代码均在Windows 2003+Vusual Basic 6.0环境下调试通过。系统运行时如下图:目录vb神童教程(续)-准备数据库我用的是Access 2003,因为需要讲解的仅仅是数据的添加、修改及删除,因此单数据库、单表就够了。如果以后您要编写更复杂一些的信息管理系统而涉及到多表操作,则您还需要补充一些关系数据库方面的知识,比如实体、一对一联系、一对多联系等等;此外,对sql语言也需要有所了解。具体您可以参考:数据库基础知识ABC。首先,在“我的电脑”的e盘新建一个名为vb文件夹,先打开Access,新建一个名为Access_db的数据库(Access数据库文件的扩展名是.mdb),保存到刚才建立的文件夹中,则以后在程序中调用数据源的位置为E:vbAccess_db.mdb。然后在Access_db.mdb中建立一个名为wzdz的表(wzdz是“网站地址”的首字母缩写), 然后在wzdz表中添加网站名称、网站地址及网站描述三个字段,三个字段的属性是相同的,如下:数据类型:文本。字段大小:50有效性规则:无。必填字段:否允许空字符串:否索引:无“编号”这个字段使用的是Access的自动编号,并将其作为主键。也就是说,您在表中设置以上三个字段即可,设置完毕保存表时,按Access的提示添加主键,Access会自动为您搞定。具体操作您可以参考:vb神童教程(续)-vb连接Access数据库实例这样在建立了数据库及表结构之后,即使是调用没有记录的空库,系统也可以无差错运行,可以在运行时通过“添加记录”按钮向数据库中添加记录。不过由于数据库是空的,系统第一次运行时数据显示控件没有数据可显示,显得空荡荡的,不太美观哦。为了方便起见,我们在Access中给wzdz表中预先添加两条初始记录:编号网站名称网站地址网站描述1编程入门网各种编程文档、电脑教程及软件应用技巧,您的电脑技术加油站!2健康生活网您的健康指南添加的方法很简单:在Access的设计器中直接双击wzdz表名,在出来的窗口中添加即可。添加时注意:因为我们使用的是Access的自动编号做主键,所以在添加时不用理“编号”这个字段,直接添加后三个字段即可。目录vb神童教程(续)-设计系统的界面及对象的属性本系统是一个很简单的数据库操作实例,能够对数据库的添加、修改及删除记录这几个基本的操作。系统使用数据显示控件MSHFlexGrid显示数据库中的记录,使用数据链接控件Adodc链接数据库作为MSHFlexGrid的数据源,使用文本框来接收系统运行时用户输入的数据。步骤如下:一、启动vb6,新建一个标准exe工程,并将工程中的form1的caption属性设置为“编程入门网网址管理系统”,width属性值设为7950,height属性值设为4620。二、向窗体中添加一个Adodc控件。如果在工具箱中找不到Adodc控件,可以右击工具箱,选择“部件.”菜单项,然后在“部件”窗口的“控件”选项卡中选中“Microsoft ADO Data Control6.0(OLEDB)”。在VB的属性窗口我们对Adodc控件的三个个属性值进行编辑,其余属性值使用默认的即可:1、ConnectionString属性值设为:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:vbAccess_db.mdb;Persist Security Info=False这个属性设置了连接Access_db.mdb这个数据库。2、RecordSourc属性值设为:select * from wzdz这个属性值中的sql语句的作用是查询出wzdz表中的所有记录。3、Visible属性值设为False,作用是使其在运行时不可见。三、向窗体添加一个MSHFlexGrid控件,如果工具箱中没有MSHFlexGrid控件,可以右击工具箱,选择“部件.”菜单项,然后在“部件”窗口的“控件”选项卡中选中“Microsoft Hierarchical FlexGrid Control 6.0 ”。然后在vb的属性窗口中将MSHFlexGrid控件的名称修改为MS1,如下图:然后对MSHFlexGrid控件进行如下设置:1、DataSource属性:在vb的属性窗口中将其值设为Adodc1,即使用Adodc控件作为其数据源。2、BackColorBkg属性:在vb的属性窗口中将其值设为&H00FFE0E0&,这是设置的MSHFlexGrid控件的底色。3、BackColorFixed属性:在vb的属性窗口中将其值设为&H00C0FFFF&,这是设置的MSHFlexGrid控件的显示标题的底色。4、width属性:在vb的属性窗口中将其值设为7695.5、Height属性:在vb的属性窗口中将其值设为2175.6、右击MSHFlexGrid控件,在弹出的菜单中选“属性”,在弹出的“属性页”对话框的在“通用”选项卡中修改行为4,修改列为4,修改固定行为0,修改固定列为0。如果数据链接正常,在“属性页”对话框的“带区”选项卡中可以看到列标题和列名称已经设置了,这里注意应该将“带区”选项卡中的“列标头”选项勾选上,否则运行时无法显示列标题,如下图。“属性页”对话框的其它部分使用默认值即可。四、向窗体中添加4个Label控件(标签),在vb的属性窗口为它们设置以下属性:1、caption属性:分别设置为网站名称、网站地址、网站描述及编号。2、Alignment属性:均设为“2-Center”。3、AutoSize属性:均设为True。五、向窗体中添加4个TextBox控件(文本框),并调整它们的位置成一排与4个标签相对应,即:网站名称Text1,网站地址Text2,网站描述Text3,编号Text4。六、向窗体中添加4个CommandButton控件(命令按钮),将它们的caption属性分别设置为“添加记录”、“修改记录”、“删除记录”和“退出系统”,并调整它们的位置成一排,放在文本框的下方。七、在两排文本框和命令按钮中间,添加一个Line控件,适当拖动其两端的控制点将长短调整至适当,并将其BorderColor属性性设为&H00C00000&,作用是把文本框和命令按钮隔开,这样在视觉上似乎能好看些。八、所有控件设置完毕后,界面如下图所示:下一步的工作,是为对象添加事件代码。目录一、form1的load事件代码:Private Sub Form_Load() Form1.MS1.ColWidth(0) = 600 Form1.MS1.ColWidth(1) = 1000 Form1.MS1.ColWidth(2) = 2300 Form1.MS1.ColWidth(3) = 4000 Form1.Text1.Text = Form1.Text2.Text = Form1.Text3.Text = Form1.Text4.Text = End Sub主要是在系统初始化时设置MSHFlexGrid控件的列宽,并将文本框置空。二、“添加记录”按钮(command1)的click事件代码:Private Sub Command1_Click()Dim sc As IntegerIf Text1.Text = Or Text2.Text = Or Text3.Text = Then 即网站名称、网站地址和网站描述的内容必须填全了才打开数据库连接写入数据 由于系统数据库设计为“编号”字段采用的是Access的自动编号 因此在添加记录时不接收编号的数据,由Access自动加编号 MsgBox (请输入完整的网站信息)Else sc = MsgBox(确实要添加这条记录吗?, vbOKCancel, 提示信息) If sc = 1 Then 运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1 Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim Str1 As String Dim Str2 As String Dim Str3 As String Str1 = Provider=Microsoft.Jet.OLEDB.4.0; Str2 = Data Source=E:vbAccess_db.mdb; Str3 = Jet OLEDB:Database Password= conn.Open Str1 & Str2 & Str3 strSQL = select * from wzdz rs.Open strSQL, conn, 3, 3 rs.AddNew rs!网站名称 = Text1.Text rs!网站地址 = Text2.Text rs!网站描述 = Text3.Text rs.Update rs.Close conn.Close MsgBox (添加记录成功!) Adodc1.Refresh 刷新数据源,MSHFlexGrid控件会实时刷新显示数据 End If 以下四条语句的作用是在操作完成后将文本框置空Text1.Text = Text2.Text = Text3.Text = Text4.Text = End IfEnd Sub三、“修改记录”按钮(command2)的click事件代码:Private Sub Command2_Click()If Not IsNumeric(Text4.Text) Or Val(Text4.Text) = 0 Then编号字段是Access的自动编号,为自然数因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程 MsgBox 记录号是大于0的自然数,请输入正确的编号! Exit SubEnd IfIf Text1.Text = Or Text2.Text = Or Text3.Text = Then对三个文本框的内容进行校验,不接收空值 MsgBox 请输入完整的网站信息! Exit SubEnd IfDim sc As Integer sc = MsgBox(确实修改这条记录吗?, vbOKCancel, 提示信息)If sc = 1 Then 运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1 Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim Str1 As String Dim Str2 As String Dim Str3 As String Str1 = Provider=Microsoft.Jet.OLEDB.4.0; Str2 = Data Source=E:vbAccess_db.mdb; Str3 = Jet OLEDB:Database Password= conn.Open Str1 & Str2 & Str3 strSQL = select * from wzdz where 编号= & Val(Text4.Text) & rs.Open strSQL, conn, 3, 3 If rs!编号 = Val(Text4.Text) Then 由于系统数据库使用的是自动编号作为主键 因此以编号字段的内容作为判断的依据 如果rs!编号 = Val(Text4.Text)说明数据库中有此记录, 才会修改其它三个字段的内容 否则给出“不存在此记录”的提示信息并关闭数据连接 rs!网站名称 = Text1.Text rs!网站地址 = Text2.Text rs!网站描述 = Text3.Text rs.Update rs.Close conn.Close MsgBox (修改记录成功!) Adodc1.Refresh 刷新数据源,MSHFlexGrid控件会实时刷新显示数据 Else MsgBox (不存在此记录!) Text1.Text = Text2.Text = Text3.Text = Text4.Text = rs.Close conn.Close Exit Sub End IfEnd If以下四条语句的作用是在操作完成后将文本框置空Text1.Text = Text2.Text = Text3.Text = Text4.Text = End Sub四、“删除记录”按钮(command3)的click事件代码:Private Sub Command3_Click()If Not IsNumeric(Text4.Text) Or Val(Text4.Text) = 0 Then编号字段是Access的自动编号,为自然数因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程 MsgBox 编号是大于0的自然数,请输入正确的编号! Exit SubEnd IfDim sc As Integersc = MsgBox(确实要删除这个记录吗?, vbOKCancel, 删除确认!)If sc = 1 Then运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1 Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim Str1 As String Dim Str2 As String Dim Str3 As String Str1 = Provider=Microsoft.Jet.OLEDB.4.0; Str2 = Data Source=E:vbAccess_db.mdb; Str3 = Jet OLEDB:Database Password= conn.Open Str1 & Str2 & Str3 strSQL = select * from wzdz where 编号= & Val(Text4.Text) & rs.Open strSQL, conn, 3, 3 If rs!编号 = Val(Text4.Text) Then 由于系统数据库使用的是自动编号作为主键 因此以编号字段的内容作为判断的依据 如果rs!编号 = Val(Text4.Text)说明数据库中有此记录并进行删除操作 否则给“不存在此记录”的提示信息并关闭数据连接 rs.Delete rs.Close conn.Close MsgBox (删除记录成功!) Adodc1.Refresh 刷新数据源,MSHFlexGrid控件会实时刷新显示数据 Else MsgBox (不存在此记录!) Text4.Text = rs.Close conn.Close Exit Sub End IfEnd If以下四条语句的作用是在操作完成后将文本框置空Text1.Text = Text2.Text = Text3.Text = Text4.Text = End Sub五、“退出系统”按钮(command4)的click事件代码:Private Sub Command4_Click()Dim sc As Integersc = MsgBox(确实要退出系统吗?, vbOKCancel, 提示信息)If sc = 1 Then运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1 End End IfEnd Sub六、添加完事件代码之后,我们这个实例至此完成,运行一下吧!目录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数据源获取信息。如果安装新的驱动程序,要使用其安装程序。跟踪: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安装窗口,如下图:在“数据源名”项中键入数据源的名称,这里我们键入“Access_db”作为数据源名。在“描述”项中键入对数据源的描述,此处内容可选,这里我们键入“This is Access database temp”。在“数据库”项中可以选取、创建、修复或者压缩数据库。这里我们选择“选取”按钮来选取相应的Access数据库。如果用户没有自己建立的Access数据库,那么用户可以到安装Access的目录下面选取Access自带的数据库。注意:Access数据库文件的扩展名是.mdb。最后,单击“确定”按钮。至此一个新的Access数据源已经添加完成,如下图:说明:如果用户希望所创建的数据源名被本机中的多个用户所使用,请用户添加系统DSN。在实际情况中,开发一个单机单用户的系统没有什么意义,所以一般都需要对系统DSN进行配置。系统DSN的添加过程同用户DSN添加过程类似。目录配置SQL Server数据源配置SQL Server数据源的步骤:(1) 打开控制面板中的ODBC数据源管理器,单击“添加”按钮来添加一个数据源。(2)单击添加按钮后,系统将准备添加一个用户数据源。为了安装数据源,会弹出创建新数据源窗口,如下图所示。由于VB和SQL Server的系列性,所以即使用户没有安装SQL Server,在创建新数据源窗口中也列有SQL Server这一项。当然,这里的列表项只是起了一个标识作用,如果用户尚未安装SQL Server,请先安装后再进行以下的步骤。(3)在上图选择“SQL Server”后,单击“完成”按钮,进入“创建新的数据源到SQL Server”窗口,如下图所示:在“名称”项中键入新的数据源名,这里我们键入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)单击“下一步”按钮将进行连接的验证。如果正确,则连接成功;否则,系统会指出具体的错误,用户应该重新验证输入的正确性。目录VB的ADO对象ADO简介参考资料:ADO简介:/VBjc/sjcz/sj2.htmado对象模型:/Programming/VB_NET/200705/1201.htmADO是另一种用于开发访问OLE DB数据源应用程序的API。有多种程序设计语言都支持ADO,如VB,VC+,VJ+等。ADO提供了较为高级并容易被理解的访问OLE DB数据源的机制,它结合了DAO和RDO的优点。并提供了OLE DB数据源的入口。OLE DB是一种数据库体系结构,它为企业网络提供了普遍的数据综合能力(从大型机到桌面上的数据,而不管数据的具体类型是什么),与ODBC相比,OLE DB在数据通道方面更具有普遍性和有效性,这是因为它允许同建立在COM基础上的更多的数据类型联系和由于ADO是为开发客户机/服务器程序而专门设计的。下图是典型的ADO应用程序的结构。ADO的特征如下:支持成批更新.即对更新的多个记录进行缓冲,并同步传输到服务器。支持所有类型的光标。包括只能前移型,关键值型以及动态和静态型。支持服务器端的存储过程。这些过程可以大大提高应用程序的通用性。支持返回多个记录集的查询。支持查询目的。包括限制返回的记录的个数,激活返回记录的过滤和预先语句。ADO是由以下对象组成的:Command,Connect,Error,Field,Parameter和RecordSet。下图给出了ADO对象的层次结构。除了Error和Field之外的所有ADO对象都是可以单独创建的,而Command,Error和Parameter对象是可选的。目录adodb Connection对象简介Connection对象介绍 Connection对象支持许多属性,可以利用这些属性来操作当前的连接状态或者获取一些基本的Connection对象的信息.有一些属性是只读的,而另一些属性是可读写的.1.Attributes属性Attributes属性设置或返回一个整型值,它用来指示对象的一项或多项特性.对于Connection对象,Attributes属性为读/写,并且其值可能为以下任意一个或多个XactAttributeEnum值的和(默认为零).AdXactCommitRetaining:执行保留的提交,即通过自动调用CommitTrans启动新事务。并非所有提供者都支持该常量。AdXactAbortRetaining:执行保留的中上,即通过自动调用RollbackTrans启动新事务。并非所有提供者都支持该常量。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.ConnectionDim connection2 As ADODB.ConnectionDim connection3 As ADODB.connectionDim connection4 As ADODB.Connection不使用数据源名(DSN)打开连接Set connection1=New ADODB.Connectionconnection1.ConnectionString=driver=SQL Server;&_server=Myserver;uid=sa;pwd=password;database=pubsconnection1.ConnectionTimeout=30connection1.Open使用DSN和ODBC标记打开连接。Set connection2=New ADODB.Connectionconnection2.ConnectionString=DSN=Pubs;UID=sa;PWD=password;connection2.Open使用DSN和OLE DB标记打开连接。Set connection3=New ADODB.Connectionconnection3.ConnectionString=Data Source=Pubs;User ID=sa;Password=password;connection3.Open使用DSN和单个参数而非连接字符串打开连接。Set connection4=New ADODB.Connectionconnection4.Open Pubs,sa,pwdEnd 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.ConnectionSet connection1=New ADODB.Connectionconnection1.ConnectionString=driver=SQL Server;&_server=Myserver;uid=sa;pwd=passwordcnn1.Opencnn1.DefaultDatabase=pubsEnd Sub6.IsolationLevel属性IsolationLevel属性指出Connection对象如何处理对象。7.Mode属性Mode属性设置或返回以下某个ConnectModeEnum的值,指示用于更改在Connection中的数据的可用权限。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.ConnectionSet connection1=New ADODB.Connectionconnection1.Provider=Microsoft.Jet.OLEDB.3.51connection1.OpenC:samplesnorthwind.mdb,admin,End Sub9.State属性State属性对所有可应用对象都可用,它用来说明其对象状态是打开或关闭的。可以随时使用State属性来确定指定对象的当前状态。该属性是只读的,并返回下列常量之一的长整型值。AdStateClosed:默认值,指示对象是关闭的。AdStateOpen:指示对象是打开的。AdStateConnecting:指示Recordset对象正在连接。AdStateExecuting:指示Recordset对象正在执行命令。AdStateFetching:指示Recordset对象的行正在被读取。例:使用Connection对象的State属性的示例代码。Public Sub State_Example()Dim connection1 As ADODB.ConnectionDim statestring AS StringSet connection1=New ADODB.Connectionconnection1.ConnectionString=DSN=Pubs;UID=sa;PWD=password;connection1.OpenSelect Case connection1.Statecase adStateClosedstatestring=adStateClosedcase adStateOpenstatestring=adStateOpenEnd Select显示连接的状态。MsgBox connection1.State:,statestringEnd Sub目录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=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.CloseEnd 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,如下图:如果连接状态是关闭,则对话框标题栏显
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设计公司工资管理制度
- 2025年中国激光导航扫地机器人行业市场全景分析及前景机遇研判报告
- 评审医疗废物管理制度
- 诊所排污登记管理制度
- 诊断试剂购进管理制度
- 财务租赁合同管理制度
- 财政所应收款管理制度
- 货代公司收款管理制度
- 货物内部流转管理制度
- 货站装卸安全管理制度
- (高清版)DB51∕T 1292-2011 牧草种质资源田间鉴定与评价技术规程
- 2024年11月-矿山隐蔽致灾因素普查
- 刷单合同范本
- CNAS-CL02-A001:2023 医学实验室质量和能力认可准则的应用要求
- DBJ51T 163-2021 成都轨道交通设计防火标准
- 加热炉安全操作规程培训课件
- 特种设备隐患排查与整治
- 2024年人教版七年级下册生物期末检测试卷及答案
- 《造血干细胞移植护理》课件
- 2025年非法集资课件:制作与投资者教育新思路
- 北京昌平小升初数学试卷
评论
0/150
提交评论