我正在vb.net中构建一个数据输入程序,5个人将共享使用,我在设置正确的数据库连接时遇到问题。它会做基本的事情,如:拉起股票单位,节省工作,加载工作操作。
我使用的数据库是Access数据库(.mdb)。此数据库将位于本地服务器驱动器中(我的驱动器位于Z驱动器中),连接字符串如下所示
Provider=Microsoft.Jet.OLEDB.4.0;Data Source="Z:\Jimmy's Files\Quality Enclosures.mdb"
这在我的计算机上工作正常,但问题是它在我的同事计算机上不起作用。
d(\ dc-qenclosures)(Z :)是我本地服务器驱动器的运行,但是在我的同事的计算机上,它被设置为 d(\ dc-qenclosures)(Q :)。
所以,每当我在同事的计算机上打开程序时,它都会给我一个错误,说数据库OpenFileDialog
不存在(这是有道理的,因为它不在Z:on下他的电脑)
我知道如何使用Private Sub RadButton6_Click(sender As Object, e As EventArgs) Handles RadButton6.Click
Dim myStream As Stream = Nothing
Dim openFileDialog1 As New OpenFileDialog()
openFileDialog1.InitialDirectory = "c:\"
openFileDialog1.Filter = "mdb files (*.mdb)|*.mdb|All files (*.*)|*.*"
openFileDialog1.FilterIndex = 1
openFileDialog1.RestoreDirectory = True
If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
Try
myStream = openFileDialog1.OpenFile()
If (myStream IsNot Nothing) Then
myConString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & openFileDialog1.FileName
con.ConnectionString = myConString
con.Open()
End If
Catch Ex As Exception
MessageBox.Show("Cannot read file from disk. Original error: " & Ex.Message)
Finally
' Check this again, since we need to make sure we didn't throw an exception on open.
If (myStream IsNot Nothing) Then
myStream.Close()
End If
End Try
End If
End Sub
浏览mbd文件..但是如何将其设置为新的数据库连接?
我想创建一个属性菜单来设置数据库位置。
这是我到目前为止浏览数据库文件的代码
doc min
答案 0 :(得分:0)
我的第二个@ OneFineDay建议首先尝试UNC路径,但是为了回答您浏览和保存数据库路径的主要问题,您可能希望查看在My.Settings
中存储连接字符串的元素,因此您可以将路径设置为用户级别。这里有一个MSDN文章,其中包含示例:
Using My.Settings in Visual Basic 2005
简而言之,您将拥有共享的代码示例,将值保存到My.Settings.DataPath
(或者您决定调用该设置的任何内容)。然后,当您连接到数据库并需要连接字符串时,您可以从My.Settings.DataPath
读取它。
当然,默认情况下,这会将您的路径存储在纯文本app.config
文件中,所以如果有任何安全问题,您需要注意这一点并采取适当的措施你的应用程序或数据库。