C#访问dbf的时,为什么查询语句一加条件就查不出记录,但加了条件的语句在VFP中能正确执行。
通过ODBC查询dbf库,代码如下:
string connStr="PWD=;SourceType=DBF;UID=;Collate=Machine;Deleted=Yes;BackgroundFetch=Yes;Exclusive=No;Driver=Microsoft Visual FoxPro Driver;Null=Yes;SourceDB=c:\\stock";
string dbpath=@"c:\stoc13\show.dbf";
OdbcConnection conn=new OdbcConnection(connStr);
conn.Open();
string cmd_string = @"select * FROM 'c:\sto13\show.dbf'";
OdbcCommand comm=new OdbcCommand(cmd_string,conn);
OdbcDataReader myread = comm.ExecuteReader();
while(myread.Read())
{
MessageBox.Show(myread.GetString(1));
}
如果查询语句是@"select * FROM 'c:\stock\show2003.dbf'"则可以查出所有记录
便是如果将语句改成string cmd_string = @"select * FROM 'c:\stock\show2003.dbf' where S3=4132.869";则查不出任何记录。但这条语句在VFP中能正常运行,能查出相关记录。请指教。