我有一个小问题。我正在使用 csv 文件作为数据库,并使用 ADO.NET 的 OLEDB 函数来询问它。我只想选择两个数据之间包含“DATA”列的行,如下所示:
String conn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\;
;Extended Properties='text;HDR=Yes;Format=Delimited(;)';";
OleDbConnection cn = new OleDbConnection(conn);
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [mydb]", cn);
OleDbDataAdapter daAd = new OleDbDataAdapter();
daAd.SelectCommand= cmd;
cn.Open();
DataTable dt = new DataTable();
daAd.Fill(dt);
DateTime mydata= Convert.ToDateTime("01/01/1990");
DateTime mydata2= Convert.ToDateTime("01/01/2000");
直到现在都没有错,但是当我改变时
"SELECT * FROM [mydb]"
和
"SELECT * FROM [mydb] WHERE DATA>= '"+ mydata.Date +"' AND DATA<='"+ mydata2.Date +"'
我有一个错误说“查询'WHERE DATA => mydata AND DATA <= mydata2'中的语法错误(缺少运算符)。我真的不知道如何解决它。更多信息:.CSV文件的格式如下:
DATA;INFO1;INFO2;INFO3
01/01/1990;1;2;3`
进入 schema.ini 是这样的:
[mydb.csv]
Format=Delimited(;)
ColNameHeader=True
DateTimeFormat=dd-MM-yyyy
Col1=DATA DateTime
Col2=info1 Long Width 3
Col3=info2 Integer
Col4=info3 Integer
编辑: 我正在运行 x86 七,我读到对于解决 JET 驱动程序的不兼容问题,schema.ini 文件就足够了,希望我是对的。