1.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。
2.如何在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控件再添其他内容。
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的连接
'要连接access数据库有两种方法用ADODC或ADO.
方法一: (ADODC)
首先须引用Projects-Components-Microsoft ADO Data Controls 6.0 (OLEDB).
之后在表单设置ADODC控件。然后Form_Load()输入以下代码:
Private Sub Form_Load()
ADODC1.ConnectionString = "provider=Microsoft.jet.OLEDB.4.0;Persist security info= False; Data source=" & App.Path & "\数据库名称.mdb"
ADODC1.CommandType = adCmdText
ADODC1.RecordSource = "select * from 表格名称"
ADODC1.Refresh
End Sub
方法二: (ADO)
'首先须引用Projects-References-Microsoft Active X Data Objects 2.0 Library.
'*注意以下两段须写在程式最上面(Gerenal一般)中。
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim SQL As String
'然后在Form_Load()输入以下代码:
Private Sub Form_Load()
cn.ConnectionString = "provider=Microsoft.jet.OLEDB.4.0;Persist security info= False; Data source=" & App.Path & "\数据库名.mdb"
cn.Open
If rs.State = adStateOpen Then rs.Close
rs.CursorLocation = adUseClient
SQL = "select * from 表格名"
rs.Open Trim$(SQL), cn, adOpenKeyset, adLockPessimistic
End Sub
5.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数据库的连接相同。
另一种方法是在运行时,通过代码对connect属性赋值来实现。如: Data1.connect=”; pwd=1234” Data1.DatabaseName=APP.path + “\ssgl.mdb” 其中,”1234”为Access数据库文件ssgl.mdb的密码,下同。
②Adodc控件 Adodc控件是一个ActiveX控件,它使用Microsoft ActiveX Data Objects(ADO)创建到数据库的连接。使用Adodc控件之前,要先将Adodc控件添加到控件工具箱中。
方法如下:在VB 6.0种选择“工程”菜单,再点击“部件”菜单项,在弹出的“部件”对话框中选中“Microsoft ADO Data Control 6.0(OLEDB)”选项即可。 通过Adodc控件连接加密的数据库的方法也有两种: 一种方法是在设计状态时,在“属性窗口”中,对Adodc控件的ConnectionString属性设置一个有效的连接字符串,并在连接字符串后增加上”; Jet OLEDB: DataBase password=1234”,再设置Adodc控件的CommandType、RecordSource的属性就可以创建到加密的数据库的连接了。
另一种方法是在运行时,通过代码动态地设置ConnectionString、CommandType和RecordSource属性来创建连接。 只要在ConnectionString属性的有效连接字符串后增加上”; Jet OLEDB: DataBase password=1234”即可。
2、使用数据对象 ① DAO数据对象 要能正确引用DAO数据对象来建立与数据库的连接,应先在VB集成开发环境中选择“工程”菜单,再点击“引用”菜单项,在弹出的“引用”对话框选择“Microsoft DAO 3.51 Object Library”选项来添加DAO数据对象类型库。 接下来就可用如下代码来建立到加密的Access数据库ssgl.mdb的连接。
Dim db AS DataBase Set db=OpenDataBase(App.path + “\ssgl.mdb” , False , False , ” pwd=1234”) ② ADO数据对象 ADO是Microsoft推出的处理关系数据库和非关系数据库中信息的最新技术,也是Microsoft推崇的用于数据连接和访问的技术。在VB 6.0中,Adodc控件、ADO数据对象及DataEnvironment(数据环境设计器)都采用的是ADO技术,因而它们处理加密的Access数据库的方法类似。
要能正确引用ADO数据对象,应在VB 6.0集成开发环境中选择“工程”菜单,再点击“引用”菜单项,在弹出的“引用”对话框中选中“Microsoft ActiveX Data Objects 2.1 Library”选项来添加ADO数据对象类型库。 可用如下代码来建立到加密的Access数据库ssgl.mdb的连接。
Dim cnn AS ADODB.Connection Dim rst AS ADODB.Recordset Set cnn=New ADODB.Connection Cnn.Provider= ”Microsoft.Jet.OLEDB.3.51” Cnn.ConnectionString= ”Data Source=” & App.path & ”\ssgl.mdb;” & _ ” Jet OLEDB: Database password=1234” cnn.Open ③ 使用DataEnvironment(数据环境设计器) 有两种方法可以通过DataEnvironment连接到加密的Access数据库: 一种方法是在设计状态时,在DataEnvironment的connection对象的ConnectionSource属性的有效连接字符串后加上” Jet OLEDB: Database password=1234” 另一种方法是在DataEnvironment_Initialize()事件中编写如下代码: Private sub DataEnvironment_Initialize( ) Dim strconn AS string Strconn=” Provider=Microsoft.Jet.OLEDB.3.51;” & _ ”Data Source=” & App.path & “\ssgl.mdb;” & _ ”; Jet OLEDB: Database password。
6.VB连接Access数据库具体步骤,越详细越好
有多种连接方式,可以用数据控件连接,也可以用组件连接。下面是用ADO组件来连接的例子(假定ACCESS数据库文件和程序是放在同一个文件夹的):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
PrivateSubForm_Click() '点击窗体运行
Dimconn AsObject, rs AsObject
Setconn = CreateObject("Adodb.Connection")
conn.Open "provider=Microsoft.Jet.OLEDB.4.0; Data Source="& App.Path & "\a.mdb"
Setrs = CreateObject("Adodb.Recordset")
rs.Open "select * from b", conn, 1, 1
DoUntilrs.EOF
'这里是循环列出表b中的每条记录,熟悉的人就知道怎么做了
rs.MoveNext
Loop
rs.Close
Setrs = Nothing
conn.Close
Setconn = Nothing
EndSub
7.急求VB与Access数据库连接的详细步骤
方法1,
建立一个模块
将工程的启动设置为 SUB MAIN
在模块里写下面代码
Public db As Database
Public rs As Recordset
Sub main()
set db=db.opendatabase("数据库路径"<;建议用相对路径--就是把数据库文件和工程文件放在同一目录下--相对路径就是APP.PATH+"数据库名带后缀">)
第一启动窗体<;比如:form1>.show
end sub
以后在其他窗体中如果要调用数据库只用在窗体中写代码
set rs=openrecordset(<;可以是数据库的表--如"student",也可以是查询语句--如"select* form student">)
这时数据库的内容都存在FILE集合里
比方说set rs=openrecordset("select* form student")
rs.file(0)就是SQL语句查询结果的第一列
rs.files就是整个结果
使用text1.text=rs.file(0)就可以把文本框于查询结果帮定起来
如果要对数据库进行修这时用以下代码:
db.Execute (<SQL语句--如"insert into student(sno,sname) value("","")">)
方法2,
工程--部件--选择microsoft data bound grid control 5.0
然后在窗体中添加左边工具栏的 DATA 和DBGRID 控件
选择DBGRID 将属性DATASOURCE 设置为DATA控件的名字(如DATA1)
然后选择DATA 将属性CONNECT设置为ACCESSS 2000
设置DATABASENAME 选择数据库的存放路径
最后设置RECORDSET 为需要连接的表的名字
运行就可以看到 DATAGRID中显示了数据库的信息
8.如何进行VB与数据库ACCESS的连接
VB与数据库连接可以使用数据库控件进行,也可以引用ADO对象,数据库控件的使用比较简单,下面我就介绍使用ADO对象进行连接,首先打开"工程-引用",选择其中的Microsoft ActiveX Data Objects 2.0 Library(2.0以上版本都可以):
ACCESS数据库名为"学生.mdb"其中有张数据库表名为"表",下面就介绍如何使用代码进行连接到数据库"学生",代码如下:
Function Connection() As String
'数据库的连接字符设置
Connection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path + "\学生.mdb"
End Function
数据库"学生.mdb"在当前目录下,故使用APP.Path
Private Sub Form_Load()
Dim mr As New ADODB.Recordset
Dim cnn As New ADODB.Connection
Dim Sql As String
Sql="select * from 表"
cnn.Open Connection '使用cnn对象打开数据库连接
mr.Open Sql, cnn, adOpenKeyset, adLockOptimistic
'打开数据库记录
If mr.eof then
msgbox "数据库表为空!"
else
msgbox "数据库表不为空!"
end if
set mr=nothing
'关闭记录对象
set cnn=nothing
'关闭连接对象
End Sub
OK,程序到此,已经能成功地访问数据库了,并能打开数据库中的表
9.如何用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"它表示了数据库所在的绝对路径.。
10.怎样用vb程序访问Access数据库并使其连接
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至两个变量 CnStr = "PROVIDER=microsoft.jet.oledb.3.51;persist security info =false;data source=" & FileName & ";Jet OLEDB:Database Password=" & DbPw 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”,但这种方法可以向任何方向移动行坐标。
' '以下参数代表了这个可选值的含义 '0 = adOpenForwardOnly (默认值)打开仅向前类型游标。 '1 = adOpenKeyset 打开键集类型游标。
'2 = adOpenDynamic 打开动态类型游标。 '3 = adOpenStatic 打开静态类型游标。
' '虽然使用以上方法可以可以实现行坐标(游标)的任意移动,但是仍然无法写入数据。因此需要进一步的对Open 方法进行完善 'rs.Open Sql, conn, 1, 3 '后面的3是确定读写权限的 '以下参数代表了这个可选值的含义 '1 = adLockReadOnly (默认值)只读 — 不能改变数据。
'2 = adLockPessimistic 保守式锁定(逐个) — 在编辑时立即锁定数据源的记录。 '3 = adLockOptimistic 开放式锁定(逐个) — 只在调用 Update 方法时才锁定记录。
'4 = adLockBatchOptimistic 开放式批更新 — 用于批更新模式(与立即更新模式相对)。 ' '2)读写数据 '---------- '增加一行记录并对新记录的内容进行修改并保存可以如下写法 rs.AddNew '增加一行记录 rs("。
")="。" '数据读写操作 。
rs.UpDate '保存写入资料,如果使用只读权限,则不能使用这个方法 rs.Close '这个方法用来关闭你所代开的表,如果不使用这个方法也可以,但是数据库仍然认为你在对标进行锁定,可造成数据库负担过重 2、对数据进行筛选和排序 ======================= Sql = "select * from 表名" 'SQL查询语句 '以上为打开一个表的所有内容 Sql = "select top 50 * from 表名" 'SQL查询语句 '以上为只打开前50行的记录 Sql = "select top 50 列名1,列名2,列名5 from 表名" 'SQL查询语句 '以上为只打开前50行的记录,并且只打开第1、2、5列数据 Sql = "select * from 表名 where 列名1='" & 字段 & "'" 'SQL查询语句 '以上为一个简单的筛选,表示打开的内容必须符合[列名1='" & 字段 & "'"]的内容 '需要注意的是,数据库列的类型必须匹配,比如字符串类型需要以单引号括起 '而数字类型则不能用单引号括起 '另外SQL语句还支持通配符,例如 列名1 like '%" & 字段 & "%'" 表示包含[字段] '在表达式中的匹配 '? _(下划线) 任何单一字符 '* or % 零个或多个字符 '# 任何单一数字(0 — 9) '[charlist] 任何在字符表中的单一字符 '[!charlist] 任何不在字符表中的单一字符 '注:根据数据库的不同?、_和*、%的应用有所差别,比如SQL只使用% 和 _ 分别代表多个字符和单一字符 Sql = "select * from 表名 where 列名1='" & 字段 & "' ORDER BY 字段1 ASC" '对查询结果进行升序排列 Sql = "select * from 表名 where 列名1='" & 字段 & "' ORDER BY 字段1 DESC" '对查询结果进行降序排列 Sql = "select * from 表名 where 列名1='" & 字段 & "' ORDER BY 字段1 DESC, ORDER BY 字段2 DESC" '对查询结果进行多维降序排列(速度奇慢,不推荐使用) 3、Recordset集合的常用属性方法 ============================== rs.BOF '是否游标在最上边 rs.EOF '是否游标在最下边 rs.RecordCount '记录集的行数(如果使用像前类型的游标,可能返回不准确) rs.AddNew '新建一行记录 rs.Update '保存当前行被修改的记录 rs.Delete '删除当前行 rs.Close '关闭记录集 4、Fields集合的一些属性的解释 '以下为简写,正常情况需要rs.Fileds.。
但是Fields属于Recordset的一个默认集合,因此可以省略 rs() '括号内可以是列名也可以是列的序号例如:rs("姓名")、rs(3) 都是是可以的 rs(3).Name '返回列名 rs(3).Type '返回列的类型 rs(3).Value '返回当前行的值 rs.Fields.Count '返回列数。
转载请注明出处windows之家 » win10怎么用vb连access数据库