繁体   English   中英

在连接字符串中使用变量作为数据库名称的一部分,因此不必为每个用户进行硬编码

[英]Using a variable in connection string for a portion of Database name so it doesnt have to be hard coded for every user

我的程序在我的计算机上使用了一个名为(County Hunter-K8EMS.mdb)的数据库。 我想做的是使用一个用户可以在其屏幕上输入的变量,然后选择DB在其计算机上进行搜索(County Hunter-“ Variable” .mdb)。 由于每个用户都有一个不同的调用,变量将到达何处。

该数据库是由县猎人使用的另一个程序创建的,我要做的就是在该数据库中搜索一个表以查看字段是否为NULL或使用过。 我在屏幕上有一个输入文本框,因此他们可以输入呼叫,并希望使用该输入来完成对数据库的命名以进行搜索,因此不需要为每个用户都进行硬编码和编译。

我正在Microsoft Visual Studio 17中使用Visual Basic。

     Dim conn As OleDbConnection
     Dim ds As New DataSet
     Dim dt As New DataTable
     ds.Tables.Add(dt)
     Dim da As New OleDbDataAdapter
     Dim connString = "(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Logger Data\County Hunter -  " ' & mcall.text &'""' &.mdb&'"Jet OLEDB:Database.[County Hunter- (mcall,text.mdb) Password = ########;)"

MDB是旧的Access数据库,因为安装该数据库的程序在VB6中。 连接字符串显示错误,但是我对Access还是很陌生,我需要一些有关如何使其工作的指导。

可变输入画面

任何想法或帮助,将不胜感激。

您每次都可以执行此操作,但这很麻烦。 您不能将其放在数据库中,因为这就是您要查找的...我建议您将其放在配置文件中。

Dim  config = ConfigurationManager.OpenExeConfiguration(Assembly.GetEntryAssembly().Location)

Dim appSettings = CType(config.GetSection("appSettings"), AppSettingsSection)
Dim insensitive = StringComparison.CurrentCultureIgnoreCase

If (Not appSettings.AllKeys.Any(Function(key)
        string.Compare(key, "name", insensitive) = 0)) Then
    appSettings.Settings.Add("name", "bar")

    config.Save()
End If

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM