我正在创建一个连接到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;
}
}
答案 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)
由于 苏雷什