关于VB连接数Access据库的关闭问题

作者&投稿:中琦 (若有异议请与网页底部的电邮联系)
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。

我找一些,整理好了发你,怎么样?

Private Sub cmdOpen_Click()
Dim strConn As String
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\StayHome.mdb;Persist Security Info=False"
set Conn = new adodb.connection'<====
Conn.CursorLocation = adUseClient
Conn.Open strConn

' 如果RecordSet的状态不是关闭状态,则关闭Recordset
set rs = new adodb.recordset'<====
If Rs.State <> adStateClosed Then Rs.Close
Rs.Open "Select * from test", Conn, adOpenKeyset, adLockOptimistic
' 绑定进DataGrid
Set DataGrid1.DataSource = Rs

cmdOpen.Enabled = False

End Sub
添上那两句应该可以了,关闭就用
Set Rs = Nothing
Set Conn = Nothing


vb对access数据库的操作
Private Sub Form_Load() '初始化 cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\\NCRE.MDB;Persist Security Info=False" '连接ACC数据库 Rs.Open "select Topic_NO from Topic_Orig0909", cn, adOpenKeyset, adLockOptimistic '打开记录集其中:Topic_NO为字段名T...

用VB与ACC做数据系统,ACC容量有多大
可以用的,呵呵 一般到3亿条的时候就不行了 还有数据库的容量一般要控制在一个G到两个G以内,不然会非常慢,还会出错 最好你的软件里要有一个清理数据库的功能。定时定期清理无效数据 还有ACCESS的数据库如果你的office版本太低,删掉的东西是不会自动去掉的,还会保留在数据库里,要打开这个access文...

求给个vb 连接acc 数据库的字符串
使用控件:2个Labe,2个text,1个command,1个Adodc;数据库文件log.mdb,数据库的表名login,表的列名称username和password 代码如下:Private Sub Form_Load()Dim conn As ADODB.Connection '若未添加Adodc控件则提示未定义 Dim rs As New ADODB.Recordset Set conn = New ADODB.Connection Set r...

想用VB写个小程序,出现这样的提示[Microsoft][ODBC Microsoft Access 驱...
vb6.0链接acc数据库,mdb的话一般用jet "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\\A.mdb"如果是accdb,一般用ace "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & App.Path & "\\A.accdb"

vb.net 如何连接网络access
'access的网路路经 Set conn = CreateObject("ADODB.Connection")Set myrs = CreateObject("ADODB.Recordset")conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=123;Mode=;Data Source=" & ACCSOURCE '123为密码,access有密码时需要输入正确密码 ...

vb怎样通过控件为acc数据添加字段和数据.
本地数据库:采用Data控件 远程数据库:采用Adodc控件

VB怎样对运行着的Accsee数据裤进行备份,恢复
不好办,我页遇到过同样的问题,当使用filecopy语句时,总会出现错误,权限错误,是因为,你的ACCESS数据库打开着呢,要先关闭连接,才能,你可以换用连接字符串conn.connection=""conn.close 关闭连接后就可以了

关于VB6.0可变参数和for each的代码问题
问题2:ParamArray后面的acc()是个变体型数组,代表了多个参数,其中acc(0)是第一个参数,acc(1)是第二个参数,依此类推。即使只有一个参数,也是acc(0),所以:For Each x In acc()要改为 For Each x In acc(0)问题3:c是根据a中遍历出的每个元素而重新赋值的变量,与原数组a无关,所以...

vb 读取远程ACC或者SQL数据库: 表:ABC 字段1和表段2中的数据,到TEXT1...
无法远程连接到你的数据库,汗。代码如下,供参考:Dim Conn1 As ADODB.Connection Dim rstP As ADODB.Recordset Dim strCnn As String Private Sub Command1_Click()Set Conn1 = New ADODB.Connection strCnn = "{SQL Server};Server=80.12.15.265;Data Source=XXXX;" & _"uid=777;pwd=999...

VB大神:求VB DAO或ADO动态创建Access链接表详细代码
Database为数据库名称,SQLTable为SQL被连接的源表,accTable要新建的连接表名称,SQLID为SQL服务器ID默认为“SA”,SQLPASS为数据库密码默认为空'调用方法如: call CreateSQLlinkTable2("192.168.1.200","UfNote_001_2009","Person","c123","sa","")'调用参数全部要加双引号 Dim db ...

梁园区15268351122: vb中如何与access数据库连接 -
通坚玫芦: VB连ACCESS可以直接连,就是在ADO数据源的连接字串里直接连接到数据库文件. 也可以间接连接,在ODBC的数据源里建个新的数据源连到你要用的ACCESS数据库,然后VB连这个ODBC里的数据源. 现在大家用的反正都是这么回事啦,要是你真的很牛,你直接读写ACCESS文件自己翻数据用也行.WEB不也是用了控件?凡是用了ADOCONNECTION的都是用了ADO控件. 一般来说只要用数据源,那就基本都是用控件的.

梁园区15268351122: VB连接Access数据库具体步骤,越详细越好 -
通坚玫芦: 有多种连接方式,可以用数据控件连接,也可以用组件连接.下面是用ADO组件来连接的例子(假定ACCESS数据库文件和程序是放在同一个文件夹的):123456789101112131415 PrivateSubForm_Click() '点击窗体运行 Dimconn ...

梁园区15268351122: 如何进行VB与数据库ACCESS的连接 -
通坚玫芦: VB与数据库连接可以使用数据库控件进行,也可以引用ADO对象,数据库控件的使用比较简单,下面我就介绍使用ADO对象进行连接,首先打开"工程-引用",选择其中的Microsoft ActiveX Data Objects 2.0 Library(2.0以上版本都可以): ...

梁园区15268351122: VB连接ACCESS数据库 -
通坚玫芦: (1)建立Access数据库(2)引用Ado Data控件和数据感知控件DataGrid(3)分别设置Ado Data控件的ConnectionString、Command- Type、RecordSource三个重要的属性以及DataGrid控件的Data- Source属性 在设置Ado Data控件的...

梁园区15268351122: VB怎么连接访问Access数据库 -
通坚玫芦: 使用Visual Basic作为前端开发语言,与SQL Server接口有几种常用的方法,即: ①数据访问对象/Jet ②为ODBC API编程 ③使用SQL Server的Visual Basic库(VBSQL)为DB库的API编程 ④RDO 远程数据对象(RemoteData Objects) ⑤ADO ...

梁园区15268351122: vb程序如何连接Access数据库 -
通坚玫芦: 不用代码只能用ADO+DATAG什么的那个空间了,做个数据源,ADO连接数据源,然后给ADO加上查询语句,DATAG什么的那个连接ADO就可以了

梁园区15268351122: 如何用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 = ...

梁园区15268351122: 如何在VB中连接access数据库
通坚玫芦: 请用MICROSOFT jet 4.0 OLE DB Provider引擎连接ACCESS数据库,方法如下: 新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件. 然后在FORM1窗体中添加ADODC控件和DATAGRID控件,...

梁园区15268351122: 怎么用VB连接到有密码的ACCESS数据库? -
通坚玫芦: 1. 如果有链接字符串,则更改链接字符串:Data Source=path\abc.mdb;Jet OLEDB:Database password=12342. 如果是Data控件,需要设置Data的connect和DatabaseName属性.Data1.connect=”; pwd=1234”Data1.DatabaseName=APP.path ...

梁园区15268351122: 如何用VB语言去连接Access数据库啊?我的程序就是连不上啊?各位请指教! -
通坚玫芦: 最简单的方法: 1:用vb自带的DATA控件,不用设置代码就能连接MDB文件. 2:用代码 (DAO) : dim db as database '定义一个数据库连接 dim rs as recordset '定义一个记录集 set db = opendatabase(app.path & "\me.mdb") '连接MDB文件 set rs = db.OpenRecordset("select * from nameOFtable") '连接MDB库里的一个表.此处的SELECT语句可以和WHERE\ORDER BY 等关键字合用. 谢谢!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网