VB连接ACCESS数据库

合集下载

vb连接access数据库及数据读写操作

vb连接access数据库及数据读写操作

ACCESS 数据库和VB 的连接Edited by Ryan 20221 、建立Access 数据库2 、启动VB,建立标准EXE图13 、添加ActiveX 控件鼠标指向任意VB 控件,单击右键,选择“部件(O)”,浮现图 3 所示界面图2图3选择部件“Microsoft ADO Data Control 6.0 (OLEDB)”,浮现如图4 所示控件图44、添加控件Adodc图54 、在控件Adodc 上添加数据源鼠标指向控件Adodc1,单击右键,选择“ADODC 属性”,弹出如图7 所示界面图6图7单击“生成(U). . . ”,弹出如图8 所示界面图8选择“Microsoft Jet 4.0 OLE DB Provider”,单击“下一步(N) >>”,弹出如图9 所示界面图9单击“. . . ”,添加数据源(第一步所建Access 数据库),如图10 所示图10单击“测试连接(T)”,浮现提示框,如图11 所示图11之后点击“确定”,退回到如图12 所示界面图12单击“记录源”,弹出如图13 所示界面图13在“命令类型”下,选择“1 - adCmdText”,在“命令文本 (SQL)”下,输入“Select * from test1”,最后单击“应用”,“确定”即可之后,进入程序书写部份程序部份需要注意接头形式及简单例子如下:Private Sub Command1_Click() ‘VB 按钮控件Dim mydb As New ADODB.Connection ‘定义新的数据库连接mydb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\read database\test1\test1.mdb" ‘数据库绝对路径Dim rs As New ADODB.Recordset ‘定义数据库的一个对象mydb.Open ‘打开数据库rs.Open "select * from test1", mydb, 3, 3 ‘打开数据库中的表test1For i = 1 To 1 ! For 循环控制选择哪一行rs.MoveNextNext iMe.Text1.Text = rs.Fields(1).Value ‘读取指定行中的哪个数据给文本框rs.Update ‘数据显示rs.Close ‘关闭表End Sub。

02VB连接Access数据库

02VB连接Access数据库

5)EOFAction属性:返回或设置一个值,指示 在EOF属性为True时ADO数据控件进行什么操 作。有三种选择: 0 - adDoMoveLast:缺省设置。保持最后一 个记录为当前记录。 1 - adStayEOF:将当前记录位置定位在最后 一个记录之后。记录集的EOF值保持True,这 时禁止ADO数据控件上的 (Move Next) 按钮。 2 – adDoAddNew:移过最后一个记录时自动 添加一个新记录。


Command1.Enabled = False
Command2.SetFocus Else Adodc1.Recordset.MovePrevious End If End Sub
19






Private Sub Command2_Click()
' “下一个”按钮

Command1.Enabled = True
16


设计步骤:
1)新建一个标准EXE工程,打开“部件”对话框,选择 “Microsoft ADO Data Control 6.0(OLEDB)”,向工具箱 中添加一个ADO数据控件,并将其添加到窗体上,使 用默认名称Adodc1。设置其Visible属性为False。 2)在Adodc1控件的属性页的“通用”选项卡上生成连 接字符串如下: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\mydb\学生.mdb;Persist Security Info=False 3)在Adodc1控件的属性页的“记录源”选项卡上选择 命令类型为“2 - adCmdTable”,设置表名称为“学生基 本信息” 17

(完整版)vb连接access数据库及数据读写操作

(完整版)vb连接access数据库及数据读写操作

ACCESS数据库和VB的连接Edited by Ryan 20131、建立Access数据库2、启动VB,建立标准EXE图13、添加ActiveX控件鼠标指向任意VB控件,单击右键,选择“部件(O)”,出现图3所示界面图2图3选择部件“Microsoft ADO Data Control 6.0 (OLEDB)”,出现如图4所示控件图44、添加控件Adodc图54、在控件Adodc上添加数据源鼠标指向控件Adodc1,单击右键,选择“ADODC 属性”,弹出如图7所示界面图6图7单击“生成(U). . .”,弹出如图8所示界面图8选择“Microsoft Jet 4.0 OLE DB Provider”,单击“下一步(N) >>”,弹出如图9所示界面图9单击“. . .”,添加数据源(第一步所建Access 数据库),如图10所示图10单击“测试连接(T)”,出现提示框,如图11所示图11之后点击“确定”,退回到如图12所示界面图12单击“记录源”,弹出如图13所示界面图13在“命令类型”下,选择“1 - adCmdText”,在“命令文本(SQL)”下,输入“Select * from test1”,最后单击“应用”,“确定”即可之后,进入程序书写部分程序部分需要注意接头形式及简单例子如下:Private Sub Command1_Click() ‘VB按钮控件Dim mydb As New ADODB.Connection ‘定义新的数据库连接mydb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\read database\test1\test1.mdb" ‘数据库绝对路径Dim rs As New ADODB.Recordset ‘定义数据库的一个对象mydb.Open ‘打开数据库rs.Open "select * from test1", mydb, 3, 3 ‘打开数据库中的表test1For i = 1 To 1 ! For循环控制选择哪一行rs.MoveNextNext iMe.Text1.Text = rs.Fields(1).Value ‘读取指定行中的哪个数据给文本框rs.Update ‘数据显示rs.Close ‘关闭表End Sub。

vb连接Access数据库实例

vb连接Access数据库实例

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对象来进行具体数据的操作,如果在建立了数据库之后没有对数据源进行配置或者对数据源的配置工作出现错误,则在此之前所做的一切工作都是白费的。

在VB中连接ACCESS数据库的方法

在VB中连接ACCESS数据库的方法

在VB中,连接ACCESS数据库的方法主要有下面三种∙使用ADO对象,通过编写代码访问数据库C onnection 对象ODBC数据源∙使用ADO Data 控件快速创建数据库连接有三种连接方法Data Link文件使用ODBC数据源名称使用连接字符串∙使用数据环境设计器创建数据库连接首先添加环境引用。

然后找到数据源进行连接无论是哪一种连接,都是先有一个路径,通向要连接的数据源,和数据源建立关系,在连接。

就好比从北京到上海,可以做汽车,可以做火车,还可以做飞机,汽车走高速,火车走铁路,飞机走航线,过程不一样,但结果是一样的,都是到达上海目的地。

在操作这三种连接方式的时候,会发现有重复的操作。

Data 控件连接中,ODBC数据源的连接和使用字符串的连接与直接使用ODBC数据源连接中,不同是,直接使用ODBC数据源设置好路径后,再用connection对象连接即可;Data控件则不用Connection 对象,有控件,设置好路径了,就直接连到啦。

数据环境设计器和ADO 对象,都用到了connection连接。

不同的是,数据环境设计器中,connection连接途径是和data控件中字符串的连接步骤一致。

总结不同:ADO对象连接需要编写代码,其他的不用编写代码。

下面详细介绍每一种连接方法的详细步骤:1,使用ADO connection对象首先,要建立ADO引用,定义connection这个类,然后实例化对象。

代码完成如下:[vb]view plaincopyprin t?2,使用ODBC数据源首先,打开电脑上的ODBC数据源,建立关系。

步骤如下:1),打开电脑上的ODBC数据源如下图所示:2)点击添加3)命名4)和数据库源建立关系5)用代码实现连接[vb]view plaincopyprin t?3,ADO Data 控件创建连接1)右击data控件,选择ADODC属性2)从三种连接资源中选择一种。

使用data Link 文件:直接点击浏览,找到包含连接字符串的.udl文件即可使用ODBC数据源连接,单击新建选择用户数据库,之后的操作跟2中步骤一样。

vb操作access数据库的方法

vb操作access数据库的方法

VB操作Access数据库方法使用ADODB首先,声明一个链接变量,并根据需要声明记录集变量。

建立与数据库的链接,如果数据库没有口令,最后一行可以不写(写上也不会错)。

这种方法虽然代码长一些,但对数据环境要求低,且结构清晰,所编写的发布程序也大为减小。

由于与链接SQL Server等数据库的方法一样,因而大量的操作数据库的代码相同,当数据库需要由Access扩充到一些大型数据库,或由一些大型数据库裁剪出一个简单数据库时,程序的移植会比较方便。

另外,这种方法对于Access97及Access2000均能很好地支持,兼容性好。

对于大量插入、删除、修改等操作,只在Connection层进行即可,既可提高速度又可减少代码。

如果还要获取具体的记录集内容,则须再根据条件打开具体的库表,代码如下:ADO常用方法下面是我所掌握的使用ADO对数据库操作的一些常用方法,主要是提供给初学者作为参考,有不对的地方请指正。

如有补充不胜荣幸准备工作========Dim conn As New ADODB.Connection '创建一个 Connection 实例,在这里使用New等于将Dim和Set合并为一段代码执行Dim rs As ADODB.Recordset '创建一个 Recordset 实例,不使用New 是因为,经常需要重复使用Set,因此没必要在这里使用Dim CnStr As String, Sql As String '创建两个字符串变量分别存放两个集合的SQL语句代码段1、装载数据库(不属于Recordset集合)=============Dim FileNamw$, DbIp$, DbName$, DbUser$, DbPw$'以上5个字符串变量分别表示文件路径和文件名、数据库地址、数据库名、数据操作员用户名、操作员密码FileName = App.Path & "\'数据库名'"DbIp = "数据库地址"DbName = "数据库名"DbUser = "数据操作员用户名"DbPw = "操作员密码"'以上变量根据数据库类型的不同而不同,有可能只需要1至两个变量'1)连接Access数据库:'-------------------CnStr = "PROVIDER=microsoft.jet.oledb.3.51;persist security info =fal se;data source=" & FileName & ";Jet OLEDB:Database Password=" & DbPw'2)连接Oracle数据库:'-------------------CnStr = "PROVIDER=MSDAORA.1;Password=" & DbPw & ";User ID=" & DbUser & ";Data Source=" & FileName & ";Persist Security Info=True"'其中:'PASSWORD: 密码'User ID: 用户号'Data Source: 数据库名'Persist Security Info:'Provider:'3)连接VF的DBF库:'----------------CnStr = "PROVIDER=MSDASQL.1;Persist Security Info=False;Driver={Microsoft Visual FoxPro Driver};UID=" & DbUser & ";SourceDB=" & FileName & ";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;"'4)连接SQL的数据库'------------------CnStr = "PROVIDER=MSDataShape;Data PROVIDER=MSDASQL;uid=" & DbUser & ";pwd=" & DbPw & ";DRIVER=SQL Server;DATABASE=" & DbName & ";WSID=GQS OFT;SERVER=" &DbIP'也可以使用这段简易代码 CnStr = "Provider=SQLOLEDB;Data Source=" & Db Ip & ";DATABASE=" & DbName & ";UID=" & DbUser & ";pwd=" & DbPwConn.Open cnstr '使用 Connection 集合的 Open 方法与数据库建立连接2、Recordset集合的常用方法=========================='1)打开一个表'------------Sql = "select * from 表名" 'SQL查询语句Set rs = New ADODB.Recordset '新建一个实例rs.Open Sql, conn '使用 Open 方法打开数据库中的一个表'注意,这种打开方式只能使用 rs.MoveNext (即,向后移动行坐标)而不能像其他方向,并且不能修改数据内容''rs.Open Sql, conn,1 '虽然只加了个“1”,但这种方法可以向任何方向移动行坐标。

vb连接ACCESS数据库实例

vb连接ACCESS数据库实例vb连接ACCESS数据库实例下面给你一个用ADO的代码链接的实例:(ACCESS 2003)首先在工程中点击【工程】-【引用】,在打开的对话框选择Microsoft AxtiveX Data Objects 2.8 Library 勾选,然后定义二个对象:Dim conn As New ADODB.Connection, rs As New ADODB.Recordset其中conn是数据库链接对象,rs是数据记录集对象那么,下面就是利用SQL语句链接数据库了:conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\library\1.mdb;Jet OLEDB:Database Password="strSQL = "SELECT * FROM 数据库中的表"rs.Open strSQL, conn, 3, 3至此数据库已经链接成功,并且已经加载了记录集,下面你就可以进行数据操作了,注意,在数据库操作完成后,千万别忘记关闭记录集和数据库链接对象:rs.Closeconn.Close'首先,工具->引用->选中Microsoft ActiveX Data Objects 2.X Library'必须选中,否则下面代码不会起作用!(以下链接数据库之方式,不需要使用ADODB控件,仅需代码即可)Public Conn As New ADODB.ConnectionPublic Rs As New ADODB.RecordsetPublic Cnt As Integer '这个Cnt是用来表示数据库数据总量的,对链接过程无关'连接数据库的代码段Conn.CursorLocation = adUseClient '以Conn为链接名建立链接,这里是设置数据游标(客户端数据游标),即设定读取数据库数据之方式(一行一行地读)Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;DataSource=" & App.Path & "\test.mdb"'自己改动一下上面的路径和文件名即可,其他的代码你不理解照粘贴无妨If Rs.State <> adStateClosed Then Rs.CloseRs.Open "SELECT 铺名, 上月读数, 本月读数, 实用度数, 铺位数, 首层面积, 非经营层面积, 欠费明细, 欠费金额FROM data WHERE 首层面积is not null and 非经营层面积is not null;", Conn, adOpenKeyset, adLockPessimisticCnt = Rs.RecordCount'关闭数据库链接(一般放到子过程结束处,关闭数据库链接)Rs.CloseConn.CloseSet Rs = NothingSet Conn = Nothing'添加、修改、删除、更新数据(都以Conn.Execute后带SQL语句来实现对数据库的查询操作)'Conn.Execute "update data set 上月读数= 本月读数"’Rs.MoveNext '数据游标转到数据库下一行'实例:For i = 1 To CntDoEventsConn.Execute "insert into data (ID,铺名,上月读数,本月读数,实用度数,铺位数) values(" & Rs("ID") & ",'" & Rs("铺名") & "'," & Rs("上月读数") & "," & Rs("本月读数") & "," & Rs("实用度数") & "," & Rs("铺位数") & ")"Rs.MoveNext Next。

VBA中的连接与操作Access数据库

VBA中的连接与操作Access数据库随着计算机技术的不断发展和应用范围的不断扩大,数据库管理成为各个领域中必不可少的一项技能。

Microsoft Access作为一种常用的关系数据库管理系统(RDBMS),提供了许多功能强大的工具和功能,用于存储、处理和管理大量的数据。

在VBA(Visual Basic for Applications)编程中,连接和操作Access数据库是一项基本技能,本文将为您介绍如何在VBA中进行这些操作。

1. 连接Access数据库在VBA中连接Access数据库,需要使用ADODB (ActiveX Data Objects)对象库。

ADODB是Microsoft提供的用于连接和操作多种数据库的组件,并提供了一套一致的API(Application Programming Interface)接口。

首先,我们需要在VBA的代码中添加对ADODB的引用。

在VBA编辑器中,选择“工具”菜单,然后选择“引用”选项。

在弹出的对话框中,找到“Microsoft ActiveX Data Objects x.x Library”(其中x.x表示版本号),选中并点击“确定”按钮。

接下来,我们需要声明和创建ADODB的相关对象,以连接到Access数据库。

以下是一个连接到Access数据库的示例代码:```Dim conn As ADODB.ConnectionSet conn = New ADODB.Connectionconn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\database.accdb;"```在上述代码中,我们首先声明了一个名为conn的ADODB.Connection对象,并使用New关键字创建了一个新的连接。

conn.Open语句用于打开数据库连接,其中Provider参数指定了使用的数据提供程序(这里使用的是Microsoft Access引擎),Data Source参数指定了Access 数据库文件的路径和文件名。

VBA中操作Access数据库的常用方法

VBA中操作Access数据库的常用方法VBA (Visual Basic for Applications) 是一种用于自动化各种应用程序的编程语言,它可以与Microsoft Office中的各种应用程序进行交互,包括Access数据库。

在本文中,我们将讨论在VBA中操作Access数据库时常用的方法,希望可以帮助您更好地利用这些方法来处理和管理数据库。

1. 连接到Access数据库连接到Access数据库是进行任何数据库操作的第一步。

我们可以使用ADO (ActiveX Data Objects) 对象来建立与数据库的连接。

下面是一个连接到Access数据库的例子:```vbaDim conn As ADODB.ConnectionSet conn = New ADODB.Connectionconn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\database.accdb;"conn.Open```这段代码创建了一个ADODB.Connection对象,并设置其ConnectionString属性来指定数据库连接字符串,然后通过Open方法打开数据库连接。

2. 执行SQL查询执行SQL查询是从Access数据库中获取数据的常用方法。

可以使用ADODB.Recordset对象来执行查询并获取结果。

以下是一个例子:```vbaDim rs As New ADODB.RecordsetDim strSQL As StringstrSQL = "SELECT * FROM TableName"rs.Open strSQL, conn' 遍历结果Do Until rs.EOF' 处理每一行数据rs.MoveNextLooprs.Close```在这个例子中,我们创建了一个ADODB.Recordset对象,并使用Open方法执行了一个SELECT语句,并将返回的结果集存储在Recordset对象中。

vb连接access数据库常用的方法两种示例

这里以链接access数据库为例。

第一部分是通过语句链接,第二部分是通过控件链接通过语句链接数据库,然后把相应的数据赋值给某个文本框就行了。

1. 首先定义几个全局变量Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim constr As String2. 给这些变量赋值,方便链接数据库constr = "Provider=Microsoft.Jet.OLEDB.4.0;" & Source="Data科学效应数据库.mdb"红色部分写你自己的数据库路径。

3. 打开数据库cn.open constr打开表rs.open “ select * from 效应表where id=5 “,cn 取字符串并赋值给相应的文本Text1.text=rs.fields(效应和现“象名称”)Text2.text=rs.fields(文字解说“ ”)关闭表rs.close关闭数据库cn.close注意,最后两步骤一定要有,不然下次打开数据库的时候会提示出错的,这样的话,在窗口上建立两个文本框就够了。

但是,在此之前还有一步一定要做,点"工程"-"引用"-找到"Microsoft ActiveX Data Object2.6 ",如图所示:L n x|.[□加■匚^IX运行砂 宣询咲)ItRd ) IRd ) 弊虫)■口加 «Jih JL ■ ;"抵葩i” 整 JUS .BU JJI T#r»Op[} CtrliH枷険仁crd 口i (EI 辿图电:工堤② 格弍口 调法妙 国空诲口 E^Q )工貝⑴外罢枉序⑴ ®n 帮iftco I 討唔"屯1?決煽仙行匚町 cn. open constrrs. open ^select * fron 效应農 whatra id =6*t Taxtl. Tait = r 吕.F 让ld ・("效应和现象据称") T«tXTert ■ rs. fields 宇轉说"}却i ; Fiu.iw氈件功. Di rtt ; 1 j 1 N — 3 SAlWff v 口動mi 齢旺) 恳启嗣t :护 冲為扭曲少|匚| 习辰砂户曲01%盘呃」寸塑. 刖 V-U1«»■SR AU 13a.lv 启JoimreL ?BC * 君丽 帖“ ErvLTflfffl*Dlt 卫爭Ml"』阳序tlJ .. 爾皿瓷皆卽..CuliD________ ^cardawt Dim canstr As StringconsLr = ^PrQvi^er^icrosoft. Jet - OLEDB- 4-0:" _ *D&ta S QUC e=J: '■.Effect&olution ■,科学我应魏夷荤 cndb"FanOption 5\p-i;;;P T i vs* e Suh F QFITD LHI cn As D LJU rs As XewDErr ccn"tr Ar String corstr - ^Provider^M *Data Source=D:\Effecn. open conetr rci.oper °EK ?1 枣c:Tentl.T rxt - rs.r^Kt2.1 ext = rs.引艸-za 【* from Jfc 应表 where id -5"> fields 和臥象名称") field. 文字解说:• 显示的结果如下图所示:IW曝炸指一个化学反应能不断地自我加速而在瞬间完成,并伴随有光的发射寰系统温度顺势达到极大值和气体的压力急骤变化段以致形成冲击波等现象二爆炸可通过化学反宦、放电、激光束效应、核反应等方法获得口通过与效应表对比发现显示正确。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

由于VB本身并不带有可以访问数据库的类,所以我们需要引用一个包含能访问数据库的类来使用数据库.这里我们采用ADODB,相比DAO和能访问数据库的API来说,它比DAO更灵活,更强大;而比起API,它更简单易用,更适合初学者.而Access数据库比起SQL,也相对简单了很多,且能够满足中小型应用程序的需要,所以我们在使用数据库时,选择了Access.
就像使用文本文件来存储数据一样,我们需要先设计好数据结构,只不过在设计Access数据库的结构时,我们需要用到其它的程序来进行详细的规划.建议采用的程序是office中的Access或VB自带的VISDATA.
当数据库设计好了以后,我们可以开始数据库编程了.
首先,我们需要引用ADO.具体的方法是,在工程-- 引用中,找到Microsoft ActiveX Data Object *.* Library,这里的*.*是指的时ADO的版本号,一般来说,应用程序或ActiveX控件都具有向下兼容性,所以我们尽可能选择比较新的版本.以确保程序在能识别旧版本Access的同时,也能识别较新版本的Access.
然后我们需要在程序中创建一个对象.就好比我们在窗体上添加一个FileBox才能看到文件名一样,只有创建了ADO对象,我们才能够访问数据库.常用的对象有两个,Connection和Recordset.
创建这两个对象的具体方法是:
1.在引用后,使用New关键字,如
Private Conn As New ADODB.Connection
Private Reco As New ADODB.Recordset
2.在没引用时,用CreateObject创建对象:
Dim Conn,Reco
Set Conn = CreateObject(ADODB.Connection)
Set Reco = CreateObject(ADODB.Recordset)
创建了对象之后,下一步我们要做的就是打开数据库了.
先看下面的代码,可以成功的打开数据库.
Conn.open Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Main.mdb
这句代码打开了D盘中的Main.mdb这个数据库.
Connection.Open方法的第一个参数是连接代码,它将传递给系统的数据库引擎.前半部分
Provider=Microsoft.Jet.OLEDB.4.0,它表示了数据库的类型.不同的数据库可能会不同.后半句
Source=d:\main.mdb它表示了数据库所在的绝对路径.
打开数据库之后,还要打开表.假如数据库中有一个表,表名为Users,字段有两个,一个为用户名,一个为密码.那么看以下代码.
1.想返回Users中,[用户名]为去年烟花的[密码]
Recordset.open Select 密码From Users Where 用户名='去年烟花',Connection,1,1
之后我们就可以把用户输入的密码进行比较,看是否允许登录.
If Recordset.eof and Recordset.bof then
Msgbox 用户不存在!,16
Else
If PassWord =Recordset(密码).value then
msgbox 登录成功!,64
Else
msgbox 密码错误!,32
End If
End If
Recordset.Close
2.假设Admin已经成功登录系统,我们想把所有的用户名和密码都显示出来
Recordset.open Select * From Users,Connection,1,1
这时,表已经被打开,我们就用以下代码把它显示出来.
Do whlie Not Recordset.eof
Print 用户名: & Recordset(用户名).value & 密码: & Recordset(密码).value
Recordset.MoveNext
Loop
Recordset.Close
由以上代码示例可以看出,打开表时,可以只打开其中的一个字段,也可以打开所有.第一个参数是SQL语句.
Select [字段名] From 表名[Where 条件]
这里的条件可以省略.且字段名也可以用*来代替所有字段.
需要注意的是,如果你用(1)中的方法打开,那么(2)后面显示的代码就不能再用在(1)中.因为(1)里并没有打开[用户名]字段,所以这一句Recordset(密码)就没有值存在,还有可能出错.
后面的条件,可以用=、>、<等运算符.比如Where ID > 32.(这里假设[ID]为数字型.)
这是打开的部分.第二个很重要的部分就是查询记录.
数据库它并不是把所有记录全部放到一个变量中备用的.而是以当前记录的形式来返回一个值.所以我们想从中找到有用的信息,就必须要对信息进行定位/筛选.
定位:
移动到下一条Recordset.MoveNext
移动到上一条Recordset.MovePrevious
移动到最后一条Recordset.MoveLast
移动到第一条Recordset.MoveFrist
移动到某一条Recordset.Move Number
筛选:
Recordset.Find 条件
如:[用方法(2)打开表之后]
Private Sub Command1_Click()
Recordset.Find 用户名= & text1.text
If Recordset.Eof <> True Then
Msgbox 该用户的密码是: & Recordset(密码).value,64
Else
Msgbox 未找到该用户的资料!,16
End If
End Sub
MoveNext 只有当Eof不为True时,才可用,否则发生错误.而MovePrevious刚是Bof不为True时....
而只要Eof 和Bof中有一个不为真时,也就是说只要有一条记录时,它就可以使用.
Find 方法中的条件和Open时的第一个参数中的条件表述方法是完全一致的.当在已打开的记录集中,找不到该记录时,Eof为True.找到则当前的值就是符合条件的记录.
第三个部分就是添加/修改记录.
修改记录很简单,先按以上的方法找到相关记录之后,给记录赋值就可以了.
比如:[(修改密码)按方法(1)打开表之后]
Recordset(密码).value = 123456
Recordset.Updata
需要注意的就是,在修改完成后,要调用Updata方法,这样修改才能生效.
而添加记录则可以用以下代码来实现:
Recordset.addnew
Recordset(用户名).value = Admin
Recordset(密码).value = Admin
Recordset.Updata
这里,先要调用Addnew方法,增加一条新记录,然后对这个新记录中的各字段赋值,最后再调用Updata方法.
到这里就差不多了,最后说一下上面提到的几个方法.
Recordset.Open SQL语句,数据源,游标类型,打开方法
SQL语句不用说了,就是Select那啥的,目的就是按要求从表中返回数据
数据源就是一个打开之后的Connection对象.
填1就可以了
打开方法对应了几个常数,具体哪几个可以从对象浏览器里看。

对应数值的意义:
1 只读
2 独占
3 可写
4 自已可写,别人可读。

Connection.open 连接代码,服务器用户名,密码。

这里的连接代码就不在多说了,服务器用户名,密码只有在连接远程数据库时才用到。

相关文档
最新文档