我在程序中用了adodc控件连接数据库,但是我发现它的connectionstring里的数据库文件路径静态的绝对路径,比如:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\backup\PMS程序\pms.mdb;Persist Security Info=False
我想把Data Source写成用app.path表示形式的,不知应该怎么写。有这个必要吗?见http://expert.csdn.net/Expert/topic/1509/1509605.xml?temp=.4688684
我是该贴的最后一个回复,libopanda
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\backup\PMS程序\pms.mdb;Persist Security Info=False
我想把Data Source写成用app.path表示形式的,不知应该怎么写。有这个必要吗?见http://expert.csdn.net/Expert/topic/1509/1509605.xml?temp=.4688684
我是该贴的最后一个回复,libopanda
Dim strDBFile As String
strDBFile = "pms.mdb"
strConnection = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\" & strDBFile & _
"Persist Security Info=False"
这样只要保证 MDB 文件和应用程序在同一个目录就行了
& "Data Source=" & App.Path & "\data\月欠税情况.mdb;" _
& "Persist Security Info=False"如果app.path代表c:\myprg目录的话,那么数据文件就要在c:\myprg\data目录下。
connectstring = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & App.Path & "\data\月欠税情况.mdb;" _
& "Persist Security Info=False",
关键是把这些话写在Form_load里,而在ADODC控件里不注明它的connectstring属性,程序运行就会有adodc控件没有连接对象什么的警告。
请看了http://expert.csdn.net/Expert/topic/1509/1509605.xml?temp=.4688684
后再答复,谢谢了,各位
定义apppath代表应用程序路径,在vb环境下apppath="D:\backup",当编译时再将apppath=App.Path。
connectstring = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & apppath & "\data\月欠税情况.mdb;" _
& "Persist Security Info=False",
Sub Main()Set conn = New ADODB.Connection
If Right(App.Path, 1) = "\" Then
apppath = App.Path
Else
apppath = App.Path & "\"
End If
DbFileName = apppath & "article.mdb"
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
DbFileName & ";Persist Security Info=False;"
'On Error Resume Next
'With conn
' .CursorLocation = adUseClient
' .Open ConnectString, DB_USERID, DB_PWS
' End With
'显示欢迎接界面
Set frm = New frmSplash
frm.Show
DoEventsfrmMain.adodc1.connectionstring=ConnectString
frmMain.Show
Unload frm
End Sub
定义apppath代表应用程序路径,在vb环境下apppath="D:\backup",当编译时再将apppath=App.Path。
connectstring = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & apppath & "\data\月欠税情况.mdb;" _
& "Persist Security Info=False",
Private Declare Function GetModuleFileName Lib "kernel32" Alias _
"GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As _
String, ByVal nSize As Long) As Long判断
Dim S As String, Length
Length = 256
S = String(Length, 0)
Call GetModuleFileName(0, S, Length)
S = Left(S, InStr(S, Chr(0)) - 1)
if UCase(Right(S, 7)) = "VB6.EXE" then
apppath="D:\backup"
else
apppath=App.Path
end if
connectstring = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & apppath & "\data\月欠税情况.mdb;" _
& "Persist Security Info=False",