C#Winform应用程序

时间:2014-04-25 17:34:29

标签: c# database-connection

我正在创建一个连接到ms-access数据库的winform应用程序。问题是我的连接字符串,因为我可以在本地访问数据库,但如果我从我的USB棒或任何其他电脑运行它会给我错误。如何修改我的连接字符串,以便我可以毫无困难地在其他电脑上运行我的应用程序。

string strConnect = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Aakash\Documents\Visual Studio 2013\Projects\Industrial Foundry\record.accdb";
using (OleDbConnection con = new OleDbConnection(strConnect))
{
    con.Open();
    using (OleDbCommand cmd = new OleDbCommand("select * from Industry ", con))
    {
        OleDbDataAdapter da = new OleDbDataAdapter(cmd);

        da.Fill(dt);
        dataGridView1.DataSource = dt;

    }
}

4 个答案:

答案 0 :(得分:0)

您的连接字符串直接指向C:驱动器上的路径。

有很多方法可以解决它;您可以只提示用户输入文件位置,和/或将其存储在用户可配置的设置文件中。

答案 1 :(得分:0)

我希望这可以帮到你。

创建一个 winform ,您可以输入" server"," password"等等参数。 之后,使用以下参数更新连接字符串:

Friend Principal As New SqlClient.SqlConnection("data source=" & My.Settings.Server & ";INITIAL CATALOG=" & My.Settings.DB & ";UID=" & My.Settings.User & ";PWD=" & My.Settings.Password & ";workstation id=" & My.Settings.PC & ";packet size=4096")

答案 2 :(得分:0)

也许这将是一个良好的开端:

http://msdn.microsoft.com/en-us/library/ms254494(v=vs.110).aspx

由于您的标题表明您有一个WinForms应用程序,您可能还需要考虑添加“浏览”按钮来查找数据库,然后使用connection string builder建立您的连接。

答案 3 :(得分:0)

我认为简单的方法是使用App.Config文件(Application Configuration File),你可以在配置文件中添加你的数据库密钥,当app启动你可以检查键值是否为null你应该强迫用户选择数据库路径,您可以将该数据库路径设置为配置文件。您可以使用..

读取您的键值

读取密钥的代码

System.Configuration.ConfigurationSettings.AppSettings["DBKey"];

写密钥代码

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
AppSettingsSection app = config.AppSettings;
app.Settings.Add("DBKey", "DBPath");
config.Save(ConfigurationSaveMode.Modified)

由于 苏雷什