1.如何用vb连接ACCESS数据库
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"它表示了数据库所在的绝对路径.。
2.VB如何连接ACCESS数据库
由于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(密码)就没有值存在,还有可能出错. 后面的条件,可以用=、>、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方法,这样修改才能生效. 而添加记录则可以用以下代码来实现。
3.如何在VB中连接access数据库
请用MICROSOFT jet 4.0 OLE DB Provider引擎连接ACCESS数据库,方法如下:
新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件。
然后在FORM1窗体中添加ADODC控件和DATAGRID控件,将DATAGRID1的属性DATASOURCE选ADODC1,打开ADODC1控件属性页使用连接字符串,选生成,在提供者选项中ACCESS数据库选MICROSOFT jet 4.0 OLE DB Provider,然后按要求连接数据库等。在ADODC1控件属性页使用连接字符串空白文本窗口中就有一长串字符串,注意该字符串可复制到程序代码用于编程。ADODC1控件属性页的数据源内有命令文本(SQL)编写窗口可编写SQL查询语言。该窗口的SQL语句可复制到程序代码用于编程。
SQL查询语言主要结构为:
Select 查询字段 from 表名 Where 查询条件语句 [排序语句或分组语句]
查询字段必须分别用(西文)逗号分开或就用一个*号代替,上述查询中排序语句建议最好应用。
SQL查询语言如有错程序运行时告诉你出错,作相应改动即可。本人一般先按上述连接,SQL用"SELECT * FROM TabelName"作调试,无问题,用一个按钮孔件将前述需复制的连接字符串和SQL查询语言先复制于按钮控件的CLICK事件中备着,以便放着以后使用。然后删去ADODC1孔件,再添加ADODC1控件再添其他内容。
4.VB如何连接Access数据库
如下代码参考一下,不知能有帮助否。
Private Sub Command1_Click() Dim Mycon As ADODB.Connection '定义一个连接对象,用这个对象来和数据库建立通讯联系。 Dim Myrt As ADODB.Recordset '定义一个记录集对象,将来从数据库取得一条一条的记录后,放入这个对象里面。
Dim Mystr As String '定义一个字符串变量,用来存放和数据库连接时一些必要的参数。 Set Mycon = New ADODB.Connection '建立一个新的连接对象。
Set Myrt = New ADODB.Recordset '建立一个新的记录集对象。 Myrt.CursorLocation = adUseClient '定义记录集的游标类型,你要是才接触这方面的内容的话,这里没没必要做深入研究,知道记录集有2种游标类型,一种是服务器端游标,一种是客户端游标,这里采用的是客户端游标,2种类型各有特点,就你这如果要连接一个用户密码表的话,设客户端游标就可以了。
Mystr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\db1.mdb" '设置用来和数据库进行连接的一些必要参数,Access数据库采用Microsoft.Jet.OLEDB.4.0驱动,如果是其它类型的数据库的话这句就不一样了,如果你要调试这段代码的话,把d:\db1.mdb这个改一下。 Mycon.Open Mystr '用定义好的连接对象以前面设置的参数打开数据库,后面对数据库的操作就操作这个连接对象就行了。
Myrt.Open "select * from 表名", Mycon, 3, 1 ' 记录集对象执行打开操作,从数据库中的一个表中取得记录,在这里Mycon就代表数据库了。"select * from 表名"这句意思是从一个表中取得所有记录。
你具体试验时把表名修改一下。 '在这里就从数据库的一个表中取得有用的数据了,你可以通过对Myrt记录集的操作取得自己需要的数据。
比如如果是一个用户密码表的话,如果这个表有2个字段,一个用户名字段,一个密码字段。那么用Myrt("用户名")就能取得当前记录这个字段的数据。
如果这个表有10条记录的话,可以用Myrt.movenext来移动记录集指针。 '如果你界面上放置一个DataGrid控件的话,用下面这句就能看到Myrt记录集对象从数据库中取得的内容了。
Set DataGrid1.DataSource = Myrt End Sub 你问题补充里的代码没有连接数据库的代码,这个按钮是验证身份登录的代码,在这之前就应该和数据库连接了,因为连接数据库的代码必定会有数据库的路径、名称等信息。如:D:\db1.mdb。
5.VB怎样连接ACCESS数据库
使用Adodc控件连接以下是我的一个应用例子:Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库的名字.mdb;Persist Security Info=False" Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select * from 你需要打开的表" Adodc1.Recordset.MoveLast 将数据库指针移到最后一项这样就与Access连接上了。
6.VB如何连接ACCESS数据库
请用MICROSOFT jet 4.0 OLE DB Provider引擎连接ACCESS数据库,方法如下: 新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件。
然后在FORM1窗体中添加ADODC控件和DATAGRID控件,将DATAGRID1的属性DATASOURCE选ADODC1,打开ADODC1控件属性页使用连接字符串,选生成,在提供者选项中ACCESS数据库选MICROSOFT jet 4.0 OLE DB Provider,然后按要求连接数据库等。在ADODC1控件属性页使用连接字符串空白文本窗口中就有一长串字符串,注意该字符串可复制到程序代码用于编程。
ADODC1控件属性页的数据源内有命令文本(SQL)编写窗口可编写SQL查询语言。该窗口的SQL语句可复制到程序代码用于编程。
SQL查询语言主要结构为: Select 查询字段 from 表名 Where 查询条件语句 [排序语句或分组语句] 查询字段必须分别用(西文)逗号分开或就用一个*号代替,上述查询中排序语句建议最好应用。 SQL查询语言如有错程序运行时告诉你出错,作相应改动即可。
本人一般先按上述连接,SQL用"SELECT * FROM TabelName"作调试,无问题,用一个按钮孔件将前述需复制的连接字符串和SQL查询语言先复制于按钮控件的CLICK事件中备着,以便放着以后使用。然后删去ADODC1孔件,再添加ADODC1控件再添其他内容。
7.VB 怎么才能和Access数据库连接啊
下面看似多,操作起来是最简单的方法.
工程=>;增加DataEnvironment=>Connection右击属性=>;提供程序选JET4.0=>;下一步=>;联接一下.=>Connection右击添加命令.=>command右击属性=>;数据源的数据对象改为表,名称是你要加载的acess中的表.=>;把command拖到你的窗体中,奇迹出现.自动创控件,且已连接好了.
下面的是我作业,你自己改一下.
DataEnv改为DataEnvironment1,rssqlSeekstudent改为command1
上面只加载了一个,要移动可以加几个按钮
Private Sub cmdNext_Click() '移动到记录的下一条
DataEnv.rssqlSeekstudent.MoveNext
End Sub
Private Sub cmdPrevious_Click() '移动到记录的上一条
DataEnv.rssqlSeekstudent.MovePrevious
End Sub
Private Sub cmdFirst_Click()
'移动到记录的头部,并改变各个浏览按钮的状态
DataEnv.rssqlSeekstudent.MoveFirst
DataEnv.rssqlSeekstudent.MovePrevious
End Sub
Private Sub cmdLast_Click()
'移动到记录的尾部,并改变各个浏览按钮的状态
DataEnv.rssqlSeekstudent.MoveLast
DataEnv.rssqlSeekstudent.MoveNext
End Sub
8.VB怎么连接Access?
在VB编程中通常要和数据库打交道,对于数据量较小,应用一般选用Access作为数据库,Access数据库比较简单功能也比较齐全,数据备份、拷贝都很方便且发布时不需要额外单独安装其它数据库管理软件Software。因此,在功能能够满足要求条件下,Access数据库往往成为一些小型数据库软件Software的首选。
有关用VB操作Access库表思路方法有多种,一般般初学者往往会使用数据Control控件许多资料上也大都以此作为操作Access数据库起点来介绍,这个思路方法使用起来非常简单,但使用数据Control控件,思路方法在编码上往往不够灵活。现在介绍下其它两种操作Access数据库思路方法:
第一种:使用数据库对象
首先 要进行有关数据对象 声明 代码如下
Dim MyWs As Workspace
Dim MyDB As Database
Dim WordTab As Record
生成工作区 打开数据库 然后再根据需要打开相应 库表
Set MyWs = DBEngine.CreateWorkspace?〃〃? 〃Admin〃? 〃〃? dbUseJet?
Set MyDB = MyWs.OpenDatabase?数据库名称? False? False?
Set WordTab = MyDB.OpenRecord ?〃表名〃? dbOpenDyna ?
这种思路方法 优点是代码比较简单 要求 环境为DAO 2.5/3.51 其中表名可以换成SELECT语句 即根据条件打开所需要记录集 这种思路方法可脱离数据Control控件 可以比较方便灵活地操作数据库表 增加了 灵活性
提示:经过测试发现 这种思路方法只能打开Access97库表 对于Access2000库表却无能为力 会弹出库表格式不对 出错提示另外 对数据环境 要求仍比较多
第 2种:使用ADODB
首先 声明 个链接变量 并根据需要声明记录集变量
Dim LocCnn1 As ADODB.Connection
Dim LocRst1 As ADODB.Record
建立和数据库 链接 如果数据库没有口令 最后 行可以不写(写上也不会错)
Set LocCnn1 = New ADODB.Connection
LocCnn1.Open 〃Provider=Microsoft.Jet.OLEDB.4.0?User ID=Admin?〃 & _
〃Data Source=〃 & App.Path &; 〃\数据库名称.mdb?〃& _
〃Mode=Share Deny None?Extended Properties=''?Persist Security Info=False?〃 & _
〃Jet OLEDB?Database Password='asp561rbc'?〃
这种思路方法虽然代码长 些 但对数据环境要求低 且结构清晰 所编写 发布 也大为减小 由于和链接SQL Server等数据库思路方法 样 因而大量 操作数据库 代码相同 当数据库需要由Access扩充到 些大型数据库 或由 些大型数据库裁剪出 个简单数据库时移植会比较方便
另外 这种思路方法对于Access97及Access2000均能很好地支持 兼容性好 对于大量插入、删除、修改等操作只在Connection层进行即可 既可提高速度又可减少代码
如果还要获取具体 记录集内容 则须再根据条件打开具体 库表 代码如下:
Set LocRst1 = New ADODB.Record
LocRst1.CursorType = adOpenKey
LocRst1.LockType = adLockOptimistic
LocRst1.Open 〃SELECT ? FROM 表名〃? LocCnn1?adCmdText
转载请注明出处windows之家 » win10怎么用vb连access