vb动态连接mysql数据库_VB数据库动态连接方法

刚做了一个数据库方面的程序,如果是通过控件设置数据库属性,一般是静态,即数据库存放的路径是固定的,如用VB的DATA,adodc,DataEnvironment

等到作数据库链接时,打包后如果存放数据库的路径被改变的话,就会找不到路经,真是一个特别烦的事。

参考了一些人的代码,觉得动态设置数据库路径其实也很简单。还有就是数据库设置密码的时候连接属性设置会不一样,也顺便总结在一起:

刚做了一个数据库方面的程序,如果是通过控件设置数据库属性,一般是静态,即数据库存放的路径是固定的,如用VB的DATA,adodc,DataEnvironment

等到作数据库链接时,打包后如果存放数据库的路径被改变的话,就会找不到路经,真是一个特别烦的事。

参考了一些人的代码,觉得动态设置数据库路径其实也很简单。还有就是数据库设置密码的时候连接属性设置会不一样,也顺便总结在一起:

一、用data控件进行数据库链接,可以这样:

在form_load()过程中放入:

private form_load()

Dim str As String '定义

str = App.Path

If Right(str, 1) <> "\" Then

str = str + "\"

End If

data1.databasename=str & "\数据库名"

data1.recordsource="数据表名"

data1.refresh

sub end

这几句话的意为,打开当前程序运行的目录下的数据库。

你只要保证你的数据库在你程序所在的目录之下就行了。

对于有密码的MDB 文件:

以上修改为:

data1.databasename=str & "\数据库名"

Data1.Connect = "Access 2000;pwd=123"

data1.recordsource="数据表名"

data1.refresh

二、利用adodc(ADO Data Control)进行数据库链接:

private form_load ()

Dim str As String '定义

str = App.Path

If Right(str, 1) <> "\" Then

str = str + "\"

End If

str = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security

Info=False;Data Source=" & str &

"\tsl.mdb"

Adodc1.ConnectionString = str

Adodc1.CommandType = adCmdText

Adodc1.RecordSource = "select * from table3"

Adodc1.Refresh

end sub

对于有密码的MDB 文件:

以上修改为:注意连接之间的";"。

adostr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="

& adostr & "\data\db.mdb;"

& "Jet OLEDB:Database Password=123;"

三、利用DataEnvironment进行数据库链接

可在过程中放入:

On Error Resume Next

If DataEnvironment1.rsCommand1.State

<> adStateClosed Then

DataEnvironment1.rsCommand1.Close '如果打开,则关闭

End If

'i = InputBox("请输入友人编号:", "输入")

'If i = "" Then Exit Sub

DataEnvironment1.Connection1.Open App.Path &

"\userdatabase\tsl.mdb"

DataEnvironment1.rsCommand1.Open "select * from table3 where 编号='"

& i & "'"

'Set DataReport2.DataSource = DataEnvironment1

'DataReport2.DataMember = "command1"

'DataReport2.show

end sub

对于有密码的MDB 文件:

以上修改为:DataEnvironment1.Connection1.Open App.Path &

"\userdatabase\tsl.mdb;" & "Jet OLEDB:Database

Password=123;"

可以在模块定义DataEnvironment1然后在load中打开:

'模块中定义数据环境:

Global Const DEFSOURCE = "Provider=Microsoft.Jet.OLEDB.4.0;Data

Source="

Public db As ADODB.Connection

Public Sub OpenDB()

Set db = New ADODB.Connection

db.Open DEFSOURCE & App.Path &

"\data\db.mdb;" & "Jet OLEDB:Database

Password=123;"

denv.Connection1 = DEFSOURCE & App.Path

& "\data\db.mdb;" & "Jet

OLEDB:Database Password=123;"

End Sub

在load中调用opendb()即可动态定义数据环境。

不带密码的为:

Global Const DEFSOURCE = "Provider=Microsoft.Jet.OLEDB.4.0;Persist

Security Info=False;Data Source="

Public db As ADODB.Connection

Public Sub OpenDB()

Set db = New ADODB.Connection

db.Open DEFSOURCE & App.Path &

"\data\db.mdb;"

denv.Connection1 = DEFSOURCE & App.Path

& "\data\db.mdb;"

End Sub

四、利用ADO(ActiveX Data Objects)进行编程:

建立连接:

dim conn as new adodb.connection

dim rs as new adodb.recordset

dim str

str = App.Path

If Right(str, 1) <> "\" Then

str = str + "\"

End If

str = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security

Info=False;Data Source=" & str &

"\tsl.mdb"

conn.open str

rs.cursorlocation=aduseclient

rs.open "数据表名",conn,adopenkeyset.adlockpessimistic

用完之后关闭数据库:

conn.close

set conn=nothing

对于有密码的MDB 文件:

以上修改为:

str = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source="

& str & "\tsl.mdb;"

& "Jet OLEDB:Database Password=123;"

注意连接之间的";"

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值