连接访问动态

Connection the access dynamic

我的项目有一个问题。我需要连接访问数据库(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 “

如有帮助谢谢。

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

Try this instead...

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();

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