2011-08-09 101 views
0

我查詢一個dbase .dbf文件與odbc從我的c#代碼中,並在我的查詢中使用'where'子句有問題。如果我只是'從FILE.DBF中選擇*',那麼我可以檢索並閱讀記錄,並且當我搜索答案時,我在網頁上看到的每個示例都顯示了很多語法。我試過用'where'構造select語句的多種方法,到目前爲止他們都失敗了。所以,我想知道我是否不能在針對dbase文件的查詢中使用'where'子句,或者我是否還沒有選擇正確的語法。C#問題查詢dbase文件;問題使用WHERE子句

我已經試過:

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

所有這些的結果是錯誤:錯誤[42000] [微軟] [ODBC dBase驅動程序]語法錯誤WHERE子句。

任何幫助將不勝感激。

回答

7

嘗試圍繞字組括號...如..

SELECT * FROM FILE.DBF其中[組] = 21;

GROUP是一個SQL關鍵字,它很可能會導致一些問題。

+0

就是這樣。謝謝。 – Henry

1

GROUP是一個用於SQL本身的關鍵字。嘗試運行相同的查詢,但使用不同的'where'子句,而不是使用另一個字段代替'Group'(並且自然也是一個不同的條件)。如果查詢起作用,那麼'GROUP'正與GROUP BY的SQL語法混合使用,因此您可能需要使用括號或其他字符來包圍字段名稱。