如何用VB全局定义,连接数据库

来源:百度知道 编辑:UC知道 时间:2024/06/17 14:23:47
我用VB做一个系统,有段代码如下:
Dim Connection As String 'connection 可设置或返回,用于建立数据源连接的信息
Connection = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= db1.mdb "
以上是我连接数据库的代码,接下来还有打开数据库中表的代码:
access = "select * from 工程信息 where 工程名称 ='" & Trim(Text1.Text) & "'"
gc_xx.Open access, Connection, adOpenKeyset, adLockPessimistic
这段代码是正确的,我试过了,我的问题是:我有二十几个窗口,每个窗口的代码中都有这连接数据库的语句,作完操作后再断开,能不能在模块中来个全局定义,这样我就省了连接的语句,直接执行每个窗口中的找表语句,全局定义怎么定,请写明了!没有经过测试的就不用回帖了.
回答的不错!我能理解并已经实现了,补充说明一点!你少了个RS.close和conn.close,没有这句话,无法连续进行操作!你可能没在意吧,你是高手,在你面前班门弄斧啦!嘿嘿....

我认为你的代码放在模块中可能有问题:
1、没有定义数据库连接对象和记录集对象,如果你用的是VB 6.0 SP6 版本,实际连接数据库是非常简单,给你一段在模块中使用的代码:

Public conn As New ADODB.Connection '声明数据库连接对象
Public RS As New ADODB.Recordset '声明记录集对象
Public MC As String '声明一个全局变量

Public Sub SJK(conn) '数据库连接过程
conn.ConnectionString = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & App.Path & "\Data\db1.mdb;PWD="
conn.Open
End Sub

Public Sub JLJ(RS) '记录集过程
CALL SJK(conn)
dim access as string
access = "select * from 工程信息 where 工程名称 ='" & Text1.Text & "'"
'问题出来了,Text1.Text是不是在每个界面都是数据库连接的检测输入框?如果不是,可用变量代替:
access = "select * from 工程信息 where 工程名称 ='" & MC & "'"
RS.Open access, conn, adOpenKeyset, adLockPessimistic
End Sub

变量M在界面代码中是:M = Text1.Text

我不知道,你的数据库是不是就一个表(工程信息)?