问题描述
我无法动态获取MS Access数据库的文件路径。我在搞乱它的硬编码,但似乎无法使其动态工作。我关注了其他一些论坛/文档,但无法让它们为我工作。我发现有几对与我的问题很接近。
OleDbConnection Source Variable in C# https://docs.microsoft.com/en-us/dotnet/api/system.data.oledb.oledbconnection.connectionstring?view=dotnet-plat-ext-3.1
错误是:
这是我的代码:
public partial class testForm : Form
{
public OleDbConnection connop = new OleDbConnection();
//public string filePath = connop.DataSource; //<---Doesnt work unless connop variable is static.
//But,ConnectionString with filePath in arguments doesnt work still.
public testForm()
{
InitializeComponent();
connop.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\cscox\AppData\Roaming\Autodesk\AutoCAD Electrical 2021\R24.0\enu\Support\User\SAMPLE.mdb;Persist Security Info=False;"; // #1 - Works but not Dynamic
//connop.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=(local);Persist Security Info=False;"; //#2 - Doesnt work
//connop.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + connop.DataSource + ";Persist Security Info=False;"; //#3 - Doesnt work,was my first attempt at solution
//connop = new OleDbConnection(String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Persist Security Info=False;",filePath)); // #4 - Doesnt work,used with static connop variable ahead
}
private void btnAccess_Click(object sender,EventArgs e)
{
try
{
connop.open();
testLabelAccess.Text = "Connection Successful";
MessageBox.Show(connop.DataSource);
//OleDbCommand cmd = new OleDbCommand();
//cmd.Connection = conn;
connop.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error " + ex);
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)