【问题标题】:Connection the access dynamic连接访问动态
【发布时间】:2020-07-13 21:13:29
【问题描述】:

我的项目中有一个问题。我需要连接访问数据库(teste.accdb),但是这个连接我需要更改计算机名称和文件位置。

string caminhoficheiro = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);

OleDbConnection conexao = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ caminhoficheiro+"teste.accdb");
    OleDbCommand comando = new OleDbCommand();

但问题是“+ caminhoficheiro+”。错误是“字段初始化程序无法引用非静态字段、方法或属性 'Form1.caminhoficheiro”

如果你能帮忙谢谢。

【问题讨论】:

    标签: c# connection oledb system.io.file


    【解决方案1】:

    简而言之,错误意味着 - 您不能使用一个实例变量来初始化另一个实例变量。在您的示例中,您使用 caminhoficheiro 初始化另一个实例变量 conexao

    试试这个吧……

    OleDbConnection conexao = new OleDbConnection(string.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}teste.accdb", Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)));
    OleDbCommand comando = new OleDbCommand();
    

    这样,您将摆脱其中一个字段。解决此问题的其他方法很少(例如基于构造函数的设置等),但这是对现有代码更改最小的修复方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-30
      • 2017-01-16
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多