我的项目有一个问题。我需要连接访问数据库(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”
如果您能帮助您,谢谢。
答案 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();
这样,您将摆脱一个字段。解决此问题的方法很少(例如基于构造函数的设置等),但这是对现有代码进行最小更改的解决方案。