vb连接ACCESS数据库实例

合集下载

vb连接ACCESS数据库实例

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.MoveNextNext。

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数据库方法使用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 ADO控件连接ACCESS数据库做登录密码的例子

vb ADO控件连接ACCESS数据库做登录密码的例子

'准备好ACCESS数据库,建一个Uesr_id表,表中建两个字段就可以了。

'在[工程]菜单下选择[部件];在弹出的窗口内勾选[Microsoft ADO Data Control 6.0]然后确定。

'在工具栏中双击Adodc控件,Adodc控件添加到form内,在form内右单击Adodc1选择属性ADODC属性,'在弹出的窗口中单击[生成],在弹出的窗口中选择Microsoft Jet 4.0 OLE DB Provider,'单击下一步,在弹出的窗口中单击[...]选择Access数据库所在的路径,单击[确定],然后在属性页'上单击[记录源],命令类型选择[2-adCmdTable];表或存储过程名称选择[User_id],单击[确定],'设置Adodc1的Visible属性为False,ADO控件已经设置好了。

'向form内添加两个TextBox分别为text1和text2分别把它们的text属性值设置为空,把text2的'PasswordChar值设置为*,再向form内添加一个按钮CommandButton,默认为Command1;'现在所有控件都准备好了,下面编程解决登录问题。

Private Sub Command1_Click()Dim U As Boolean, P As Boolean, Ok As BooleanWith Adodc1.RefreshDo While Not .Recordset.EOFU = .Recordset.Fields(0).Value = Text1.Text '字段0为用户名称P = .Recordset.Fields(1).Value = Text2.Text '字段1为用户密码If U And P ThenOk = TrueExit DoElse.Recordset.MoveNextEnd IfLoopEnd WithIf Ok ThenMsgBox "登录成功"ElseMsgBox "登录失败"End IfVB利用ADO控件连接access数据库今天告诉大家VB利用ADO控件连接access数据库的两种方法:一种是在adodc1的属性里设置数据库文件的路径,这种方法的优点是简单易操作,缺点是,当源文件换了地方后,要重新设置数据库的路径,否则连接不上数据库了。

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数据库的两种方法首先有一点要注意,数据库的使用与我们以往所使用的文本文件不同.例如我们使用文本文件,来记录各种有用的数据.那么大致有以下几步: 读取文件-- 格式化数据-- 关闭文件-- 使用数据如果数据量较大,需要进行筛选,且存放数据的源文件可能不定时变更,那么我们可以用一个临时文件来存放有用的数据,这样可大大提高程序的效率.要[格式化数据]时,我们首先要进行筛选,然后还得进行分类,这样文件中的字符串才能被转换成有用的信息来供程序使用.这样一来,不用说,处理速度将大大减慢,而且就算你设计的数据格式比较科学,当数据量非常大时,文件的容量也会变的让普通计算机无法承受.相对文本文件来说数据库的使用也大致分为以下几步:打开数据库-- 查找数据-- 使用数据-- 关闭数据库从中可以看出,里面少了一步格式化数据,因为数据库本身在存储数据时,它就是按照一定的格式来进行存储的.其次是,数据库与文本文件返回数据的方法不同.如果把文本文件比作一个Textbox 的话,那么数据库更像是一个ListBox.使用文本文件时我们需要从整个Textbox中取出有用的信息,并进行处理,而Listbox则可以根据需要返回特定的某一项.由于VB本身并不带有可以访问数据库的类,所以我们需要引用一个包含能访问数据库的类来使用数据库.这里我们采用ADODB,相比DAO和能访问数据库的API来说,它比DAO更灵活,更强大;而比起API,它更简单易用,更适合初学者.而Access数据库比起SQL,也相对简单了很多,且能够满足中小型应用程序的需要,所以我们在使用数据库时,选择了Access.就像使用文本文件来存储数据一样,我们需要先设计好数据结构,只不过在设计Access数据库的结构时,我们需要用到其它的程序来进行详细的规划.建议采用的程序是office中的Access或V B自带的VISDATA.当数据库设计好了以后,我们可以开始"数据库编程"了.首先,我们需要引用ADO.具体的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Da ta Object *.* Library",这里的"*.*"是指的时ADO的版本号,一般来说,应用程序或ActiveX 控件都具有向下兼容性,所以我们尽可能选择比较新的版本.以确保程序在能识别旧版本Access 的同时,也能识别较新版本的Access.然后我们需要在程序中创建一个对象.就好比我们在窗体上添加一个FileBox才能看到文件名一样,只有创建了ADO对象,我们才能够访问数据库.常用的对象有两个,Connection和Records et.创建这两个对象的具体方法是:1.在引用后,使用New关键字,如Private Conn As New ADODB.ConnectionPrivate Reco As New ADODB.Recordset2.在没引用时,用CreateObject创建对象:Dim Conn,RecoSet 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 thenMsgbox "用户不存在!",16ElseIf PassWord =Recordset("密码").value thenmsgbox "登录成功!",64Elsemsgbox "密码错误!",32End IfEnd IfRecordset.Close2.假设Admin已经成功登录系统,我们想把所有的用户名和密码都显示出来Recordset.open "Select * From Users",Connection,1,1这时,表已经被打开,我们就用以下代码把它显示出来.Do whlie Not Recordset.eofPrint "用户名: " & Recordset("用户名").value & "密码: " & Recordset("密码").valueRecordset.MoveNextLoopRecordset.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 ThenMsgbox "该用户的密码是:" & Recordset("密码").value,64ElseMsgbox "未找到该用户的资料!",16End IfEnd SubMoveNext 只有当Eof不为True时,才可用,否则发生错误.而MovePrevious刚是Bof不为T rue时....而只要Eof 和Bof中有一个不为真时,也就是说只要有一条记录时,它就可以使用.Find 方法中的条件和Open时的第一个参数中的条件表述方法是完全一致的.当在已打开的记录集中,找不到该记录时,Eof为True.找到则当前的值就是符合条件的记录.第三个部分就是添加/修改记录.修改记录很简单,先按以上的方法找到相关记录之后,给记录赋值就可以了.比如:[(修改密码)按方法(1)打开表之后]Recordset("密码").value = "123456"Recordset.Updata需要注意的就是,在修改完成后,要调用Updata方法,这样修改才能生效.而添加记录则可以用以下代码来实现:Recordset.addnewRecordset("用户名").value ="Admin"Recordset("密码").value = "Admin"Recordset.Updata这里,先要调用Addnew方法,增加一条新记录,然后对这个新记录中的各字段赋值,最后再调用Updata方法.到这里就差不多了,最后说一下上面提到的几个方法.Recordset.Open SQL语句,数据源,游标类型,打开方法SQL语句不用说了,就是Select那啥的,目的就是按要求从表中返回数据数据源就是一个打开之后的Connection对象.去他妈的游标类型,填1就可以了[偷笑ing]打开方法对应了几个常数,具体哪几个可以从对象浏览器里看.对应数值的意义:1 只读2 独占3 可写4 自已可写,别人可读Connection.open 连接代码,服务器用户名,密码这里的连接代码就不在多说了,服务器用户名,密码只有在连接远程数据库时才用到.VB如何连接access数据库2009年07月25日星期六下午 07:07VB如何连接access数据库?最近在学习VB,正在研究当中!今天告诉大家VB连接数据库的方法,我知道的有两种:一种是在adodc1的属性里设置数据库文件的路径,这种方法的优点是简单易操作,缺点是,当源文件换了地方后,要重新设置数据库的路径,否则连接不上数据库了。

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

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

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

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

1.首先定义几个全局变量Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim constr As String2.给这些变量赋值,方便链接数据库D:\EffectSolution\科学效应数据库.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 Object 2.6 ",如图所示:显示的结果如下图所示:通过与效应表对比发现显示正确。

总体代码如下:Private Sub Form_Load()Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim constr As String"Data Source=D:\EffectSolution\科学效应数据库.mdb"'空格加短下划线表示续行cn.open constrrs.open "select * from 效应表 where id =5", cnText1.Text = rs.fields("效应和现象名称")Text2.Text = rs.fields("文字解说")rs.Closecn.CloseEnd Sub二、通过ado控件链接数据库,然后通过datagrid控件显示数据库中的相关表。

vb数据库编程实例

vb数据库编程实例

vb数据库编程实例VB数据库编程实例:实现学生信息管理系统在计算机编程中,数据库是一项关键技术,用于有效地存储和管理数据。

VB(Visual Basic)是一种广泛使用的编程语言,可以轻松地与数据库进行交互。

本文将详细介绍如何使用VB进行数据库编程,以一个学生信息管理系统的实例为例。

第一步:建立数据库首先,我们需要建立一个数据库来存储学生的信息。

在本实例中,我们将使用Microsoft Access数据库。

打开Microsoft Access并创建一个新的数据库文件。

然后,创建一个新的数据表,其中列的字段如下:- 学生ID(StudentID):主键,唯一标识一个学生- 姓名(Name):学生的全名- 年龄(Age):学生的年龄- 专业(Major):学生所在的专业- 成绩(Grade):学生的总评成绩保存数据库并记录其路径,以便在VB中进行引用。

第二步:创建VB项目打开Visual Studio或任何其他VB开发环境,创建一个新的VB 项目。

命名为“学生信息管理系统”或其他适当的名称。

第三步:连接数据库在VB中连接数据库需要使用。

首先,我们需要导入System.Data和System.Data.OleDb命名空间。

然后,在VB代码中添加以下代码片段来连接到数据库:vbDim connStr As String ="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<数据库路径>"Dim conn As New OleDbConnection(connStr)将`<数据库路径>`替换为第一步中保存的数据库文件路径。

第四步:加载学生信息接下来,我们将在VB中加载学生信息。

添加一个按钮控件到窗体上,并将其命名为“加载”。

然后,为该按钮的Click事件添加以下代码:vbPrivate Sub LoadButton_Click(sender As Object, e As EventArgs) Handles LoadButton.ClickDim selectQuery As String = "SELECT * FROM Students"Dim adapter As New OleDbDataAdapter(selectQuery, conn)Dim dataSet As New DataSet()adapter.Fill(dataSet, "Students")DataGridView1.DataSource =dataSet.T ables("Students")End Sub在此代码中,我们执行一个简单的查询,从数据库中检索所有学生的信息。

VB与Access连接的方法

VB与Access连接的方法

VB与Access连接的方法VB与Access连接的方法(Ado连接)一、建立数据库因为在Visual Basic 6.0中有的数据库连接方式不支持Access 2000版本格式的数据库,为了便于说明问题,本文所提的数据库以Access 97版本数据库为例。

在Microsoft Access 97中建立一个数据库,如:ssgl.mdb,并设置密码,如:“1234”,再将数据库文件和VB中创建的工程文件放在同一目录下。

如果用户的计算机上只有Access 2000的话,可以先在Access 2000中建立ssgl.mdb数据库,并设置密码,再用Access 2000中的“数据库实用工具”将数据库转换成Access 97版本的格式。

当然也可以直接在Visual Basic 6.0集成开发环境中通过“可视化数据管理器”来创建数据库,再到Access 97中设置密码。

通过对数据库文件设置密码,一般情况下,非法用户就不能用常规的手段打开数据库了,对数据库中的信息起到了一定的安全和保密作用。

二、连接加密的Access数据库在Visual Basic 6.0中,要建立与数据库的连接,可采用的技术手段很多,如:数据控件、数据对象、数据环境设计器等。

开发人员可以根据自身的条件和用户的需求进行选择。

限于篇幅,下面只介绍加密的Access数据库与没有加密的Access数据库在连接时的不同之处。

关于没有加密的数据库的连接及访问的方法读者可以参阅其它资料。

1、使用控件①Data控件Data控件是Visual Basic 6.0中的一个内置数据控件,可以通过设置Data控件的connect、DatabaseName、RecordSource属性实现对数据库的连接和访问。

通过Data控件连接加密的数据库的方法有两种:一种方法是在设计状态时,在“属性窗口”中将Data控件的connect属性的缺省值”Access”改为”; pwd=1234”即可,其它属性的设置方法与没有加密的Access数据库的连接相同。

VB连接ACCESS数据操作增删改查实例

VB连接ACCESS数据操作增删改查实例

VB连接ACCESS数据操作增删改查实例Imports System.Data.OleDbPublic Class ParkingPrivate Sub Parking_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadNow_Timer.Enabled = TrueEnd SubPrivate Sub Now_Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Now_Timer.Tick Now_Time_Label.T ext = "当前时间:" & Date.NowEnd SubPrivate Sub Enter_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Enter_Button.Click'定义一个OLEDB连接字符串Dim conStr As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=E:\est\est.mdb"'实例化OLEDB连接Dim con As OleDbConnection = New OleDbConnection(conStr)Dim sql As New System.Text.StringBuilder'定义数据库插入语句sql.Append("insert into Time_billing([Car_Num],[Enter_Time])")sql.Append("values('" & Trim(Car_Num_Text.Text) & "','" &Date.Now & "')")'打开数据库链接con.Open()'定义执行命令Dim cmd As New System.Data.OleDb.OleDbCommand(sql.ToString, con) '执行命令cmd.ExecuteNonQuery()'关闭数据库链接con.Close()MsgBox("提交成功!")End SubPrivate Sub Leave_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Leave_Button.ClickDim Time_Length As DoubleDim Pack_Fee As DoubleDim Enter_time As DateDim Leave_time As DateDim conStr As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=E:\est\est.mdb"Dim con As OleDbConnection = New OleDbConnection(conStr)Dim selSql As New System.Text.StringBuilderDim inSql As New System.Text.StringBuilderDim upSql As New System.Text.StringBuilderDim delSql As New System.Text.StringBuilderDim dr As OleDbDataReadercon.Open()selSql.Append("select")selSql.Append(" Enter_Time")selSql.Append(" from [Time_billing]")selSql.Append("where Car_Num = '").Append(Trim(Car_Num_Text.Text)).Append("'")Dim selcmd As New OleDb.OleDbCommand(selSql.T oString, con)dr = selcmd.ExecuteReader()If dr.Read() ThenEnter_time = dr("Enter_Time")Leave_time = Date.NowElseMsgBox("木有数据!")End IfEnter_Time_Text.Text = Enter_timeLeave_Time_Text.T ext = Leave_time'求时间差Time_Length = Math.Round(DateDiff(DateInterval.Minute, Enter_time, Leave_time) / 60, 2)Pack_Fee = Time_Length * 5Pack_Fee_Text.Text = Pack_FeeinSql.Append("update [Time_billing]")inSql.Append(" set [Leave_Time] = '").Append(Trim(Leave_Time_Text.Text)).Append("'")inSql.Append(" ,[Packing_Fee] = '").Append(Pack_Fee).Append("'")inSql.Append("where Car_Num = '").Append(Trim(Car_Num_Text.Text)).Append("'")Dim incom As New OleDb.OleDbCommand(inSql.ToString, con)incom.ExecuteNonQuery()MsgBox("结算完成!")upSql.Append("insert into Time_billing_History([Car_Num],[Enter_Time],[Leave_Time],[Packi ng_Fee])")upSql.Append(" select")upSql.Append(" [Car_Num]")upSql.Append(",[Enter_Time]")upSql.Append(",[Leave_Time]")upSql.Append(",[Packing_Fee]")upSql.Append(" from [Time_billing]")upSql.Append("where [Car_Num] = '").Append(Trim(Car_Num_Text.Text)).Append("'")Dim upcom As New OleDb.OleDbCommand(upSql.ToString, con)upcom.ExecuteNonQuery()delSql.Append("delete")delSql.Append(" from")delSql.Append(" [Time_billing]")delSql.Append(" where [Car_Num] = '").Append(Trim(Car_Num_Text.Text)).Append("'")Dim delcom As New OleDb.OleDbCommand(delSql.ToString, con)delcom.ExecuteNonQuery()con.Close()End SubPrivate Sub Clear_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Clear_Button.ClickCar_Num_Text.Clear()Enter_Time_Text.Clear()Leave_Time_Text.Clear()Pack_Fee_Text.Clear()End SubEnd Class。

VB连接ACCESS数据库

VB连接ACCESS数据库
Else
If Text_password.Text <> "" Then
Command2.SetFocus
End If
End If
End Sub
Private Sub Text_password_Validate(Cancel As Boolean)
adLockReadOnly-指示只读记录。无法改变数据。
adLockUnspecified-未指定锁定类型。创建副本时,副本与源对象使用相同的锁定类型。
vb里面的adOpenKeyset,adLockPessimistic 分别是什么意思
adLockReadOnly 常数值为1 vb缺省值:Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法
adOpenUnspecified-不指定游标类型。
2、LockType参数的取值:
adLockBatchOptimistic-指示开放式批更新。需要批更新模式。
adLockOptimistic-指示逐个记录开放式锁定。提供者使用开放式锁定,仅在调用 Update 方法时锁定记录。
adLockPessimistic-指示逐个记录保守式锁定。提供者要确保记录编辑成功,通常在编辑之后立即在数据源锁定记录。
其中:
1、CursorType参数的取值:
adOpenDynamic-使用动态游标。其他用户所作的添加、更改或删除均可见,而且允许 Recordset 中的所有移动类型(如果提供者不支持书签,则书签除外)。
adOpenForwardOnly-默认值。使用仅向前游标。除了在记录中只能向前滚动外,与静态游标相同。当只需要在 Recordset 中进行一个传递时,用它可提高性能。

VB中用ADODC控件连接ACCESS数据库

VB中用ADODC控件连接ACCESS数据库

数据库一般使用adCmdTable.表选择要连接的表。

设置完毕后就可以了.如果我们想把内容提交到数据库.举个例子..在窗体建立一个文本框,设置属性中的DataSource为adodc1DataField为要连接的数据库的字段名。

如果数据库中有字段,会让你选择。

设置好后在窗体加一个添加记录和一个提交的按钮,设置代码:Private Sub Command1_Click()Adodc1.Recordset.Update'保存Adodc1.Refresh'刷新End Sub添加按钮代码:Private Sub Command2_Click()Adodc1.Recordset.AddNew'添加新纪录Adodc1.Recordset("姓名").Value=Text1.TextEnd Sub第二种方法:在窗体添加Adodc控件一个text控件一个添加记录按钮一个提交按钮在窗体设置代码:Private Sub Form_Load()Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+App.Path +"\db1.mdb;Persist Security Info=False"'设置数据库路径mandType=adCmdText'设置记录源Adodc1.RecordSource="select*from message"'连接数据库的message表文件Set Text1.DataSource=Adodc1text1.DataField="姓名"End Sub添加记录按钮代码:Private Sub Command1_Click()Adodc1.Recordset.AddNew'添加新纪录End Sub提交代码:Private Sub Command2_Click()Adodc1.Recordset.Update'保存Adodc1.Refresh'刷新End Sub好了连接方法讲完了,我都在机子上测试过了,因该没有什么问题的。

vb与数据库的几种连接方法

vb与数据库的几种连接方法

-、用DAO控件连接数据库1.与Access2000数据库连接Private Sub Command1_Click()'也可直接在控件属性中设置以下各项但在控件属性中不能写入密码'只有在数据数没有密码的情况下可以省略Data1.RefreshData1.Connect = "Access 2000;"Data1.DatabaseName = App. Path + "/chncmadb.mdb"'数据库没有密码此句可省Data1.Connect = ";pwd=123456"'Data1.RecordSource = "耕地资源管理单元属性数据表2004"Data1.RecordSource = "select * from 耕地资源管理单元属性数据表2004" Data1.Refresh’move后才能正确显示记录个数End Sub2.与没有密码的DBF文件数据库连接Private Sub Command2_Click()Data1.Connect = "dBASE III;"Data1.DatabaseName = App. Path' Data1.RecordSource ="DBF"Data1.RecordSource = "select * from dbf"Data1.Refresh’move后才能正确显示记录个数End Sub3.与没有密码的Excel文件数据库连接Private Sub Command3_Click()Data1.Connect = "Excel 8.0;"Data1.DatabaseName = App.Path & "/EXcel.xls"Data1.RecordSource = "select * from [EXcel.xls]"Data1.Refresh’move后才能正确显示记录个End Sub二、用DAO代码连接数据库'在使用DAO对象前应选定Visual Basic菜单下的[工程]中的引用了菜单中的[Microsoft DAO 3.6 Object Library]选项,或其它版本1.DAO代码与Access数据库连接Private Sub Command1_Click()Dim Db As DatabaseDim Rs As Recordset'以共享、读写方式打开'如果无密码最后一个参数可以不要Set Db= OpenDatabase(App.Path & "/chncmadb.mdb", False, False, ";pwd=123456")'不需要move来更新记录个数'Set Rs = Db.OpenRecordset("耕地资源管理单元属性数据表2004")'需要move来更新记录个数Set Rs = Db.OpenRecordset("select * from [耕地资源管理单元属性数据表2004]")If Rs.RecordCount > 0 ThenRs.MoveLastRs.MoveFirstEnd IfEnd Sub2.DAO代码与没有密码的DBF文件数据库连接Private Sub Command2_Click()Dim Db As DatabaseDim Rs As Recordset'以共享、读写方式打开Set Db = OpenDatabase(App.Path, False, False, "dbase III;")'不需要move来更新记录个数'Set Rs = Db.OpenRecordset("DBF")’需要move来更新记录个数Set Rs = Db.OpenRecordset("select * from [DBF]")If Rs.RecordCount > 0 ThenRs.MoveLastRs.MoveFirstEnd IfEnd sub3. 'DAO代码与没有密码的Excel文件数据库连接Private Sub Command3_Click()Dim Db As DatabaseDim Rs As Recordset'以共享、读写方式打开'如果无密码最后一个参数可以不要Set Db = OpenDatabase(App.Path & "/EXcel.xls", False, False, "Excel 8.0;") '不需要move来更新记录个数' Set Rs = Db.OpenRecordset("EXcel.xls") '表格中的工作目录sheet'需要move来更新记录个数Set Rs = Db.OpenRecordset("select * from [EXcel.xls]") '表格中的工作目录sheet'If Rs.RecordCount > 0 ThenRs.MoveLastRs.MoveFirstEnd IfEnd Sub三、用ADO控件连接数据库'也可直接在控件属性中设置以下各项1.ADO控件与Access2000数据库连接Private Sub Command1_Click()'连接有密码的Access数据库'Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "/chncmadb1.mdb;Jet OLEDB:DataBase PASSWORD=123456"'连接没有密码的Access数据库Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "/chncmadb.mdb;Persist Security Info=False"'Adodc1.RecordSource = "[耕地资源管理单元属性数据表2004]"Adodc1.RecordSource = "select * from [耕地资源管理单元属性数据表2004]"Adodc1.RefreshSet DataGrid1.DataSource = Adodc1DataGrid1.RefreshEnd Sub2.'ADO控件与DBF表连接Private Sub Command2_Click()'Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=dBASE Files;DBQ=" & App.Path & ";SourceType=DBF;"'Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;ExtendedProperties=DSN=Visual FoxPro Tables;UID=;SourceDB=”& app.path&”;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"'Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;ExtendedProperties=DSN=dBASE Files;DBQ=”& app.path &”;;DefaultDir=”& app.path&”;DriverId=533;MaxBufferSize=2048;PageTimeout=5;"'能使表名长度不受限制Adodc1.ConnectionString = "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=" & App.Path & ";SourceType=DBF;Locale Identifier=2052"'Adodc1.RecordSource = "[DBF1]"Adodc1.RecordSource = "select * from DBF1"Adodc1.RefreshSet DataGrid1.DataSource = Adodc1DataGrid1.RefreshEnd Sub3.'ADO控件与Excel表连接Private Sub Command3_Click()'下面一句测试未能通过'Adodc1.ConnectionString = "Data Provider=MSDASQL.1;driver=Microsoft Excel Driver *.xls);DBQ=" & App.Path & "/EXcel.xls"'Adodc1.ConnectionString="Provider=MSDASQL.1;Persist Security Info=False;ExtendedProperties=DSN=Excel Files;DBQ=" & App.Path & "/EXcel.xls;DefaultDir=”&app.path&”;DriverId=790;MaxBufferSize=2048;PageTimeout=5;"Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "/EXcel.xls;Extended Properties='Excel 8.0;HDR=Yes'"'Adodc1.RecordSource = "[EXcel.xls]"Adodc1.RecordSource = "select * from [EXcel.xls]"Adodc1.RefreshSet DataGrid1.DataSource = Adodc1DataGrid1.RefreshEnd Sub4.'ADO控件与Oracle数据库连接Private Sub Command4_Click()'Adodc1.ConnectionString = "Provider=MSDAORA.1;Password=chncmadb;User ID=chncmadb;Data Source=towebserver;Persist Security Info=True"Adodc1.ConnectionString="Provider=OraOLEDB.Oracle.1;Password=chncmadb;Persist Security Info=True;User ID=chncmadb;Data Source=towebserver"'Adodc1.RecordSource = "T320481TR012004"'表名不能加方括号Adodc1.RecordSource = "select * from T320481TR012004"Adodc1.RefreshSet DataGrid1.DataSource = Adodc1DataGrid1.RefreshEnd Sub5.'ADO控件与SQLserver数据库连接'未测试Private Sub Command5_Click()Adodc1.ConnectionString = "Provider=SQLOLEDB.1;Password=111;Persist Security Info=True;User ID=111;Initial Catalog=111;Data Source=111"'Adodc1.RecordSource = "T320481TR012004"Adodc1.RecordSource = "select * from T320481TR012004"Adodc1.RefreshSet DataGrid1.DataSource = Adodc1DataGrid1.RefreshEnd Sub四、用ADO代码连接数据库'在使用ADO对象前应选定Visual Basic菜单下的[工程]中的引用了菜单中的[Microsoft.ActiveX Data Object 2.5 Library]选项,或其它版本1.'ADO代码与Access2000数据库连接Private Sub Command1_Click()Dim AdoCnn As ADODB.ConnectionDim AdoRs As ADODB.RecordsetSet AdoCnn = New ADODB.ConnectionSet AdoRs = New ADODB.RecordsetAdoCnn.CursorLocation = adUseClient'.open后面的字符串可以参考ADO控件连接.ConnectionString后面的的字符串AdoCnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "/chncmadb1.mdb;Jet OLEDB:DataBase PASSWORD=123456"AdoRs.Open "select * from [耕地资源管理单元属性数据表2004]", AdoCnn, adOpenDynamic, adLockPessimistic, adCmdTextSet DataGrid1.DataSource = AdoRsSet AdoRs = NothingSet AdoCnn = NothingEnd Sub2.'ADO代码与DBF表连接Private Sub Command2_Click()Dim AdoCnn As ADODB.ConnectionDim AdoRs As ADODB.RecordsetSet AdoCnn = New ADODB.ConnectionSet AdoRs = New ADODB.RecordsetAdoCnn.CursorLocation = adUseClient'.open后面的字符串可以参考ADO控件连接.ConnectionString后面的的字符串AdoCnn.Open "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=" & App.Path & ";SourceType=DBF;Locale Identifier=2052"AdoRs.Open "select * from [DBF1]", AdoCnn, adOpenDynamic, adLockPessimistic, adCmdTextSet DataGrid1.DataSource = AdoRsSet AdoRs = NothingSet AdoCnn = NothingEnd Sub3.'ADO代码与Excel表连接Private Sub Command3_Click()Dim AdoCnn As ADODB.ConnectionDim AdoRs As ADODB.RecordsetSet AdoCnn = New ADODB.ConnectionSet AdoRs = New ADODB.RecordsetAdoCnn.CursorLocation = adUseClient'.open后面的字符串可以参考ADO控件连接.ConnectionString后面的的字符串AdoCnn.Open"Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" &App.Path & "/EXcel.xls;Extended Properties='Excel 8.0;HDR=Yes'"AdoRs.Open "select * from [EXcel.xls]", AdoCnn, adOpenDynamic, adLockPessimistic, adCmdTextSet DataGrid1.DataSource = AdoRsSet AdoRs = NothingSet AdoCnn = NothingEnd Sub4.'ADO代码与Oracle数据库连接Private Sub Command4_Click()Dim AdoCnn As ADODB.ConnectionDim AdoRs As ADODB.RecordsetSet AdoCnn = New ADODB.ConnectionSet AdoRs = New ADODB.RecordsetAdoCnn.CursorLocation = adUseClient'.open后面的字符串可以参考ADO控件连接.ConnectionString后面的的字符串AdoCnn.Open "Provider=OraOLEDB.Oracle.1;Password=chncmadb;Persist Security Info=True;User ID=chncmadb;Data Source=towebserver"AdoRs.Open "select * from T320481TR012004", AdoCnn, adOpenDynamic, adLockPessimistic, adCmdTextSet DataGrid1.DataSource = AdoRsSet AdoRs = NothingSet AdoCnn = NothingEnd Sub5.'ADO代码与SQLserver数据库连接'未测试Private Sub Command5_Click()Dim AdoCnn As ADODB.ConnectionDim AdoRs As ADODB.RecordsetSet AdoCnn = New ADODB.ConnectionSet AdoRs = New ADODB.RecordsetAdoCnn.CursorLocation = adUseClient'.open后面的字符串可以参考ADO控件连接.ConnectionString后面的的字符串AdoCnn.Open "Provider=SQLOLEDB.1;Password=111;Persist Security Info=True;User ID=111;Initial Catalog=111;Data Source=111"AdoRs.Open "select * from T320481TR012004", AdoCnn, adOpenDynamic, adLockPessimistic, adCmdTextSet DataGrid1.DataSource = AdoRsSet AdoRs = NothingSet AdoCnn = NothingEnd Sub。

VB对Microsoft Access数据库的运用代码

VB对Microsoft Access数据库的运用代码

VB对Microsoft Access数据库的调用管理.用VB6.0计算机编程语言,和Microsoft Access的数据库建立连接。

以便对VB窗口控键,通过VB编程代码对Access数据库进行读取,存储,修改,编辑,管理和计算。

(基本功能如下图)编辑窗体界面及所需参数设计:VB窗体界面编辑及所需参数设计是下面相应控件属性及编程的基础和前提,.通过VB软件的工程下拉菜单的引用命令实现VB和Microsoft Access的数据库建立连接,以便进一步通过VB界面来对数据库的进一步操作。

具体对数据库的一般操作:首记录;上记录;下记录,末记录及搜索,修改,保存,新增记录等功能的详细VB代码如下:Public mydb As DatabasePublic myrs As RecordsetDim step1 As IntegerPrivate Sub Timer1_Timer()Call mymoveEnd SubPublic Sub mymove()Label17.Move Label17.Left + 50 * step1If Label17.Left + 1 * Label17.Width > Form1.Width Then step1 = -1ElseIf Label17.Left < 0 Thenstep1 = 1End IfEnd SubPrivate Sub Command10_Click()Form1.ShowForm2.HideForm3.HideEnd SubPrivate Sub Command11_Click()Form3.ShowForm2.HideForm1.HideEnd SubPrivate Sub Form_Load()Dim i As SingleSet mydb = OpenDatabase(App.Path + "\合同数据库.mdb")Set myrs = mydb.OpenRecordset("合同数据库", dbOpenDynaset)Command9.Enabled = False step1 = -1Timer1.Interval = 100Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""Text9.Text = ""Text10.Text = ""Text11.Text = ""Text12.Text = ""Text13.Text = ""Text14.Text = ""End SubPrivate Sub Command1_Click() '首记录Dim nm As StringDim nm1 As StringDim nm2 As StringCommand9.Enabled = FalseCommand12.Enabled = TrueCommand13.Enabled = TrueCommand2.Enabled = FalseCommand4.Enabled = TrueCommand1.Enabled = FalseCommand3.Enabled = Truemyrs.MoveFirstCall shuchuEnd SubPrivate Sub Command2_Click() '上记录Dim nm As StringDim nm1 As StringDim nm2 As StringCommand9.Enabled = FalseCommand12.Enabled = TrueCommand13.Enabled = TrueCommand3.Enabled = TrueCommand4.Enabled = Truemyrs.MovePreviousIf myrs.BOF Thenmyrs.MoveFirstCommand2.Enabled = FalseCommand1.Enabled = FalseElse' myrs.MovePreviousEnd IfCall shuchu' List1.AddItem myrs.Fields(1)End SubPrivate Sub Command3_Click() '下记录Dim nm As StringDim nm1 As StringDim nm2 As StringCommand9.Enabled = False Command12.Enabled = True Command13.Enabled = TrueCommand1.Enabled = TrueCommand2.Enabled = TrueIf myrs.EOF Thenmyrs.MoveLastCommand3.Enabled = FalseCommand4.Enabled = False End Ifmyrs.MoveNextIf myrs.EOF Thenmyrs.MoveLastCommand3.Enabled = FalseCommand4.Enabled = FalseEnd IfCall shuchuEnd SubPrivate Sub Command4_Click() '末记录Dim nm As StringDim nm1 As StringDim nm2 As StringCommand9.Enabled = FalseCommand12.Enabled = TrueCommand13.Enabled = Truemyrs.MoveLastCommand1.Enabled = TrueCommand2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = False'Command4.Enabled = FalseCall shuchuEnd SubPrivate Sub Command6_Click() '快速查询Dim findph As StringDim nm As StringDim nm1 As StringDim nm2 As StringCommand4.Enabled = Falsefindph = InputBox("请输入合同号=", "按合同号搜索")If findph <> "" Thenfindph = "合同号='" & findph & "'"'findph = "IP地址='" & findph & "'"myrs.FindFirst (findph)If myrs.NoMatch ThenMsgBox "没有相应合同号的资料记录", vbInformation, "信息"ElseCall shuchuEnd IfEnd IfEnd SubPrivate Sub Command13_Click() '新增记录Command9.Enabled = TrueText1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""Text9.Text = ""Text10.Text = ""Text11.Text = ""Text12.Text = ""Text13.Text = ""'List1.ClearCommand12.Enabled = Falsemyrs.AddNewText1.SetFocusMsgBox "现在你可以填写数据了,填写完毕后确定请按保存按钮", vbInformation, "系统提示"End SubPrivate Sub Command12_Click() '编辑myrs.EditText1.SetFocusMsgBox "现在你可以修改数据了,修改完后确定请按保存按钮", vbInformation, "系统提示"Command9.Enabled = TrueEnd SubPrivate Sub Command8_Click() '重新输入Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""Text9.Text = ""Text10.Text = ""Text11.Text = ""Text12.Text = ""Text13.Text = ""Text14.Text = ""' List1.ClearEnd SubPrivate Sub Command9_Click() '保存myrs.Fields("合同号") = Text1.Textmyrs.Fields("ID号") = Text2.Textmyrs.Fields("产品类型") = Text3.Textmyrs.Fields("产品代号") = Text10.Textmyrs.Fields("定货数") = Text4.Textmyrs.Fields("单价") = Text5.Textmyrs.Fields("收到合同日期") = Text6.Textmyrs.Fields("交货日期") = Text7.Textmyrs.Fields("图纸投入生产日期") = Text9.Textmyrs.Fields("完成人员") = Text8.Textmyrs.Fields("备注") = Text11.Textmyrs.Fields("Order NO") = Text12.Textmyrs.Fields("产品净重") = Text13.Textmyrs.Fields("客户代码") = Text14.TextMsgBox "合同资料记录保存成功", vbInformation, "信息"myrs.UpdateCommand12.Enabled = True'Command4.Enabled = TrueCommand9.Enabled = FalseEnd SubPrivate Sub Command5_Click() myrs.Closemydb.CloseEndEnd SubPublic Sub shuchu() ' 输出子程序Dim xx As StringDim yy As StringDim kk As StringDim ph As SingleText1.Text = myrs.Fields(0)Text2.Text = myrs.Fields(1)Text3.Text = myrs.Fields(2)Text4.Text = myrs.Fields(4)Text5.Text = myrs.Fields(5)Text6.Text = myrs.Fields(6)Text7.Text = myrs.Fields(7)Text8.Text = myrs.Fields(9)Text9.Text = myrs.Fields(8)Text10.Text = myrs.Fields(3)Text11.Text = myrs.Fields(10)Text12.Text = myrs.Fields(11)Text13.Text = myrs.Fields(12)Text14.Text = myrs.Fields(13) End Sub。

VB连接ACCESS例子及全部代码

VB连接ACCESS例子及全部代码

VB连接ACCESS例子及全部代码VB连接ACCESS例子及全部代码2007-03-19 13:40:32| 分类:sql相关|字号订阅1.首先创建一个新工程,取名为OpenSql,即Open Sql的缩写,意思是在Open方法中采用Sql查询。

2.打开“引用”对话框,选取Microsoft ActiveX Data Object 2.1 Library3.打开“部件”对话框,选取Microsoft Windows Common Control 6.0,工具箱中便添加了若干控件,其中一个名为ListView的控件.4.将控件ListView控件加载到窗体中,取名为ListView1.窗体中中有这样一个控件,别无其他,所以是一个特别简单的界面。

5.在代码窗口中的全部代码如下。

Dim WithEvents myConnection As ADODB.ConnectionDim myRecordset As New ADODB.RecordsetPrivate Sub Form_Load()Dim myPath As StringDim srtConec As StringSet myConec = New ADODB.ConnectionmyPath = App.Path & "\TD.mdb;"strconec = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & myPathmyConec.Open strconec'If strconec <= 0 Then' MsgBox "Connection Failed!"'Else' MsgBox "Congratulations,Established!"'End IfDim strSql As StringListView1.Top = 0ListView1.Left = 0myRecordset.CursorType = adOpenKeysetmyRecordset.LockType = adLockReadOnlystrSql = "select * from TBillInfo"myRecordset.Open strSql, myConec, , , adCmdTextShowListViewmyRecordset.ClosemyConec.CloseEnd SubPublic Sub ShowListView()Dim clmHead As ColumnHeaderDim ListItm As ListItemDim i As IntegerListView1.ColumnHeaders.ClearListView1.ListItems.ClearListView1.FullRowSelect = TrueListView1.View = lvwReportFor i = 0 To myRecordset.Fields.Count - 1Set clmHead = ListView1.ColumnHeaders.Add()clmHead.Text = myRecordset.Fields(i).Name NextmyRecordset.MoveFirstDo While Not myRecordset.EOFSet ListItm = ListView1.ListItems.Add()If IsNull(myRecordset.Fields(0).Value) ThenListItm.Text = "NULL"ElseListItm.Text = myRecordset.Fields(0).Value End IfFor i = 1 To myRecordset.Fields.Count - 1If IsNull(myRecordset.Fields(i).Value) ThenListItm.SubItems(i) = "NULL"ElseListItm.SubItems(i) = myRecordset.Fields(i).Value End IfNextmyRecordset.MoveNextLoopListView1.View = lvwReportEnd SubPrivate Sub Form_Resize()ListView1.Width = Width - 200ListView1.Height = Height - 400End SubPrivate Sub Form_Terminate()Set myRecordset = NothingSet myConnection = NothingEnd SubPrivate Sub ListView1_BeforeLabelEdit(Cancel As Integer) End Sub---------------------------。

(完整版)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数据库(车站售票管理系统示例)

一、设计任务与要求1、项目背景:随着市场经济的不断飞速发展,交通道路环境的不断改善,人们的出行次数不断增多,人口流动频繁,数量不断加大,车站信息量迅猛增长,车站售票管理系统在人们的日常生活中发挥着越来越重要的作用。

本系统实现了线路信息,票务信息的查询和管理,满足人们的需求。

2、编写目的:掌握数据库设计原理及相关软件的使用。

实现方便、快速售票;是用户准确了解售票情况,提供多种查询和统计功能;实现系统的安全性设置,使系统本身具有一定的维护功能。

3、软件定义:车站售票管理系统,主要用于车站日常的票务处理。

4、开发环境:Visual Basic 6.0, Microsoft Office Access 2003数据库 二、需求分析1、员工信息模块:员工有两种身份,售票员和系统管理员。

系统管理员可以进行系统用户的添加,密码的修改操作,火车线路,车票信息的更新等,售票员可以查询以上信息和购买车票等。

2、火车信息管理模块:系统管理员可以在火车信息管理模块实现对火车信息的管理。

管理员首先应该建立火车信息数据库,输入原始的数据信息,当有新的火车信息的时候或者管理员需要修改某个火车的相关信息以及想要删除某个火车信息的时候,就可以完成相应的操作。

管理员也可以在整个数据库中查询相关火车信息。

3、车票信息管理模块:系统管理员可以在车票管理模块实现对车票信息的管理。

根据系统当前时间自动更新车票信息,其中出发日期为当前日期到以后12天之内。

4、订票系统模块:用户可以通过查询时间,线路和火车信息,来确定自己要买什么时间,什么路线,什么型号的火车的车票,并形成表单。

程序分为登陆界面,主界面,员工信息管理界面,火车信息管理界面,车票信息管理界面,订票系统模块这几个主体界面。

使用时应先知道管理员或员工帐号和密码,登陆进入系统主菜单界面,里面包括员工信息,当前登录用户信息,火车信息,车票信息,票务信息等,其中员工信息操作,火车信息操作只有系统管理员身份才有权限操作。

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

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.Close
conn.Close
'首先,工具->引用->选中Microsoft ActiveX Data Objects 2.X Library
'必须选中,否则下面代码不会起作用!(以下链接数据库之方式,不需要使用ADODB控件,仅需代码即可)
Public Conn As New ADODB.Connection
Public Rs As New ADODB.Recordset
Public Cnt As Integer '这个Cnt是用来表示数据库数据总量的,对链接过程无关
'连接数据库的代码段
Conn.CursorLocation = adUseClient '以Conn为链接名建立链接,这里是设置数据游标(客户端数据游标),即设定读取数据库数据之方式(一行一行地读)
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data
Source=" & App.Path & "\test.mdb"
'自己改动一下上面的路径和文件名即可,其他的代码你不理解照粘贴无妨
If Rs.State <> adStateClosed Then Rs.Close
Rs.Open "SELECT 铺名, 上月读数, 本月读数, 实用度数, 铺位数, 首层面积, 非经营层
面积, 欠费明细, 欠费金额FROM data WHERE 首层面积is not null and 非经营层面积
is not null;", Conn, adOpenKeyset, adLockPessimistic
Cnt = Rs.RecordCount
'关闭数据库链接(一般放到子过程结束处,关闭数据库链接)
Rs.Close
Conn.Close
Set Rs = Nothing
Set Conn = Nothing
'添加、修改、删除、更新数据(都以Conn.Execute后带SQL语句来实现对数据库的查询操作)
'Conn.Execute "update data set 上月读数= 本月读数"
’Rs.MoveNext '数据游标转到数据库下一行
'实例:
For i = 1 To Cnt
DoEvents
Conn.Execute "insert into data (ID,铺名,上月读数,本月读数,实用度数,铺位数) values(" & Rs("ID") & ",'" & Rs("铺名") & "'," & Rs("上月读数") & "," & Rs("本月读数") & "," & Rs("实用度数") & "," & Rs("铺位数") & ")"
Rs.MoveNext
Next。

相关文档
最新文档