1

我正在使用 VS 2012 C# WinForms 应用程序查询名为 AC_ECONOMIC 的访问表。这是我的代码,

con6 = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath);
//string propQuery = String.Format("SELECT PROPNUM FROM [AC_ECONOMIC]");// WHERE SECTION = 4 AND QUALIFIER = CGA0112");

ad6.SelectCommand = new OleDbCommand("SELECT DISTINCT PROPNUM FROM [AC_ECONOMIC] WHERE SECTION = 4 AND QUALIFIER = '" + qual0 + "'", con6);

ds6.Clear();
con6.Open();
ad6.SelectCommand.ExecuteNonQuery(); //ERROR HERE
ad6.Fill(ds6);
con6.Close(); 

我不断收到错误,

“IErrorInfo.GetDescription 因 E_FAIL (0x80004005) 而失败。”

如果我将 SECTION = 4 AND 从查询中取出,它不会给我错误,但这不是我想要获得的特定数据。谁能告诉我为什么我会收到这个错误?任何帮助都会很棒。

4

1 回答 1

2

SECTION是保留的访问关键字,请尝试将其包含在方括号或反引号中:

WHERE [SECTION] = 4

or

WHERE `SECTION` = 4
于 2013-08-08T16:13:48.963 回答