请问VB中各窗体如何共用一个数据库连接字符串?

keyterxian 2007-01-15 11:01:28
我写了一个VB程序,里面有很多窗体,我想各窗体在进行数据库连接的时候共用一个连接字符串,这样方便后期的程序维护,不知道如何写?

我知道可以通过建一个类模块的方式实现,但不知道如何实现? 各位能否举个例子或者给个样例看看

我在类模块中这样写

Public ConnString As String
ConnString = "driver={sql server};server=61.145.163.XX;uid=aoution_crm;pwd=aoution_crm_778899;database=aoution_crm"

但总是出误说"编译错误:无效外部过程"

各位帮忙啊.


...全文
485 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
上官云峰 2007-01-16
  • 打赏
  • 举报
回复
给你个例子
将这个放到模块中
Public Function ExecuteSQL(ByVal sql As String, MsgString As String) As ADODB.Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
On Error GoTo ExecuteSQL_Error
sTokens = Split(sql)
Set cnn = New ADODB.Connection
cnn.Open "Provider=sqloledb;Data Source=服务器名称;Initial Catalog=数据库名称;User Id=sa;Password=;"
If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then

cnn.Execute sql
MsgString = sTokens(0) & "query successful"

Else

Set rst = New ADODB.Recordset
rst.Open Trim$(sql), cnn, adOpenKeyset, adLockOptimistic

Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & "条纪录"

End If

ExecuteSQL_Exit:
Set rst = Nothing
Exit Function
Set cnn = Nothing
ExecuteSQL_Error:
MsgString = "查询错误:" & Err.Description
Resume ExecuteSQL_Exit
End Function
'在窗体中用法

Dim mrc As ADODB.Recordset
Dim TxtSQL As String
Dim msgtext As String
Private Sub cmdSearch_Click()
TxtSQL = "select * from RH_kcyjz where yj_time like '%" & sydate & "%'"
Set mrc = ExecuteSQL(TxtSQL, msgtext)
do while not mrc
msgbox rs(0)
rs.movnext
loop
End Sub
colorslife 2007-01-15
  • 打赏
  • 举报
回复
别放在类模块中,放在标准模块中,
Public Const ConnString As String = "driver={sql server};server=61.145.163.XX;uid=aoution_crm;pwd=aoution_crm_778899;database=aoution_crm"
然后就可以使用ConnString
keyterxian 2007-01-15
  • 打赏
  • 举报
回复
原来搞过,好多年都没有写程序了,搞忘了;各位提醒一下.

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧