0

我在我的 c# 代码中使用 odbc 查询 dbase .dbf 文件,并且在我的查询中使用“where”子句时遇到问题。如果我只是“从 FILE.DBF 中选择 *”,我就可以很好地检索和阅读记录,而且我在搜索答案时在网页上看到的每个示例都显示了这么多的语法。我已经尝试了多种方法来构建带有“where”的 select 语句,但到目前为止它们都失败了。所以,我想知道我是否不能在针对 dbase 文件的查询中使用“where”子句,或者我是否还没有找到正确的语法。

我试过了:

select * from FILE.DBF where GROUP = 21;
select * from FILE.DBF where GROUP = '21';
select * from FILE.DBF where GROUP = "21";

所有这些的结果都是错误:ERROR [42000] [Microsoft][ODBC dBase Driver] WHERE 子句中的语法错误。

任何帮助将不胜感激。

4

2 回答 2

8

尝试将 GROUP 一词括在括号中 ... 如 ..

从 FILE.DBF 中选择 * [GROUP] = 21;

GROUP 是一个 SQL 关键字,它很可能会导致一些问题。

于 2011-08-09T11:54:18.560 回答
1

GROUP 是用于 SQL 本身的关键字。尝试运行相同的查询,但使用不同的“where”子句,将“Group”替换为另一个字段(当然也可以使用不同的条件)。如果查询有效,则 'GROUP' 与 GROUP BY 的 SQL 语法混在一起,因此您可能需要使用括号或其他字符将字段名称括起来。

于 2011-08-09T12:07:02.993 回答