我在我的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";
所有这些的结果是错误:错误[42000] [Microsoft] [ODBC dBase驱动程序] WHERE子句中的语法错误。
任何帮助将不胜感激。
答案 0 :(得分:8)
尝试用括号括起来这个词......如...
从FILE.DBF中选择*,其中[GROUP] = 21;
GROUP是一个SQL关键字,它最有可能导致一些问题。
答案 1 :(得分:1)
GROUP是用于SQL本身的关键字。尝试运行相同的查询,但使用不同的“where”子句,将“Group”替换为另一个字段(当然也是一个不同的条件)。如果查询有效,则“GROUP”与GROUP BY的SQL语法混合在一起,因此您可能需要使用括号或其他字符来包含字段名称。