【发布时间】:2018-08-06 09:12:57
【问题描述】:
我正在尝试使用 OleDbCommand 对 Access 数据库 (.accdb) 进行 SQL 查询。
虽然此命令运行良好(在 OleDbCommand.ExecuteReader() 中):
string command =
"SELECT cred.* " +
"FROM TB_CREDENTIALS cred " +
"INNER JOIN TB_REL_USERS_CREDENTIALS rel ON cred.CRED_ID = rel.REL_USR_CRED_CRED_ID ";
另一个没有,我不明白为什么(我看到的所有示例都使用完全相同的语法):
string command =
"SELECT cred.* " +
"FROM TB_CREDENTIALS cred " +
"INNER JOIN TB_REL_USERS_CREDENTIALS rel ON cred.CRED_ID = rel.REL_USR_CRED_CRED_ID " +
"INNER JOIN TB_USERS usr ON usr.USR_ID = rel.REL_USR_CRED_USER_ID ";
给出的例外是以下System.Data.OleDb.OleDbException:
查询表达式'cred.CRED_ID = rel.REL_USR_CRED_CRED_ID INNER JOIN TB_USERS usr ON usr.USR_ID = rel.REL_USR_CRED_USER_I'
(message is cut here)中的语法错误(缺少运算符)@
版本和详细信息:
- 数据库是在 Access 2010 上创建的
.accdb文件 - 在 C# 中使用
System.Data.OleDb.OleDbConnection创建连接 - 连接提供者是
"Microsoft.ACE.OLEDB.12.0"
(这似乎是一个无用的查询,但我当然会添加一个WHERE usr.SOME_FIELD = some_condition)
【问题讨论】:
-
如果对您有帮助,请验证我的回答。
-
当然 :) -- 等待时间限制。
-
对不起,你是对的!谢谢你。我是回答问题的新手。
标签: c# sql ms-access-2010 oledb oledbcommand