OleDbConnection错误-使用动态文件路径问题

问题描述

我无法动态获取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

错误是:

enter image description here

这是我的代码

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 (将#修改为@)