首页 > 解决方案 > 连接访问动态

问题描述

我的项目中有一个问题。我需要连接访问数据库(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#connectionoledbsystem.io.file

解决方案


简而言之,错误意味着 - 您不能使用一个实例变量来初始化另一个实例变量。在您的示例中,您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();

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


推荐阅读