查询dbase文件的C#问题;使用WHERE子句的问题

时间:2011-08-09 11:50:44

标签: c# sql dbase

我在我的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子句中的语法错误。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:8)

尝试用括号括起来这个词......如...

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

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

答案 1 :(得分:1)

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