设置对VisualBasic数据库连接的动态路径
我个人因为经常作一些数据库方面的程序,对于程序间如何与数据库进行接口的问题之烦是深有体会,因为VB在数据库链接的时候,一般是静态,即数据库存放的路径是固定的,如用VB的DATA,adodc,DataEnvironment等到作数据库链接时,如果存放数据库的路径被改变的话,就会找不到路经,真是一个特别烦的事。 一、用data控件进行数据库链接,可以这样: 二、利用adodc(ADODataControl)进行数据库链接: 三、利用DataEnvironment进行数据库链接 四、利用ADO(ActiveXDataObjects)进行编程:
笔者的解决方法是利用app.path来解决这个问题。
在form_load()过程中放入:
privateform_load()
DimstrAsString'定义
str=App.Path
IfRight(str,1)<>"\"Then
str=str "\"
EndIf
data1.databasename=str&"\数据库名"
data1.recordsource="数据表名"
data1.refresh
subend
这几句话的意为,打开当前程序运行的目录下的数据库。
你只要保证你的数据库在你程序所在的目录之下就行了。
privateform_load()
DimstrAsString'定义
str=App.Path
IfRight(str,1)<>"\"Then
str=str "\"
EndIf
str="Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource="&str&"\tsl.mdb"
Adodc1.ConnectionString=str
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="select*fromtable3"
Adodc1.Refresh
endsub
可在过程中放入:
OnErrorResumeNext
IfDataEnvironment1.rsCommand1.State<>adStateClosedThen
DataEnvironment1.rsCommand1.Close'如果打开,则关闭
EndIf
'i=InputBox("请输入友人编号:","输入")
'Ifi=""ThenExitSub
DataEnvironment1.Connection1.OpenApp.Path&"\userdatabase\tsl.mdb"
DataEnvironment1.rsCommand1.Open"select*fromtable3where编号='"&i&"'"
'SetDataReport2.DataSource=DataEnvironment1
'DataReport2.DataMember="command1"
'DataReport2.show
endsub
建立连接:
dimconnasnewadodb.connection
dimrsasnewadodb.recordset
dimstr
str=App.Path
IfRight(str,1)<>"\"Then
str=str "\"
EndIf
str="Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource="&str&"\tsl.mdb"
conn.openstr
rs.cursorlocation=aduseclient
rs.open"数据表名",conn,adopenkeyset.adlockpessimistic
用完之后关闭数据库:
conn.close
setconn=nothing
- 最新文章
- 让用户自行输入方程式,并计算其结果[04-17]
- 让一个App永远保持在最上层[04-17]
- 表单配置视窗和解析度[04-17]
- VisualBasic连续变量的声明Dima,b,casst..[04-17]
- 正确的除错(Debug)方式[04-17]
- 快速定位上次VisualBasic程序修改处[04-17]
- 相关文章
- VisualBasic连续变量的声明Dima,b,casst..[04-17]
- 快速定位上次VisualBasic程序修改处[04-17]
- VB调用C程序动态链接库的方法[04-17]
- VisualBasic中的界面设计原则和编程技巧[04-17]
- VisualBasic中DataCombo和DataList..[04-17]
- 在VB中更改SQLServer数据库结构[04-17]
