连接访问动态

时间:2020-07-13 21:13:29

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

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

如果您能帮助您,谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

相关问题