Excel文件的tbDetail表里有两例数据:
日期 数据
2007-4-10 1.906
2007-4-9 1.879
2007-4-6 1.861ADOquery1.connectionstring:='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;User ID=Admin;Data Source=All.xls;Persist Security Info=False;Jet OLEDB:Database Password=';ADOquery1.Close;
ADOquery1.SQL.Clear;
ADOquery1.SQL.Add('Select 日期,数据 From [tbDetail$] Where (DateValue(日期))>(DateValue(''2007-4-6'')) Order by 日期 Asc');
ADOquery1.Open;按理说查询的结果应该是:
日期 数据
2007-4-10 1.906
2007-4-9 1.879
但实际的结果却是:
日期 数据
2007-4-10 1.906
2007-4-10 1.906
2007-4-9 1.879
2007-4-9 1.879为什么会这样的?
日期 数据
2007-4-10 1.906
2007-4-9 1.879
2007-4-6 1.861ADOquery1.connectionstring:='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;User ID=Admin;Data Source=All.xls;Persist Security Info=False;Jet OLEDB:Database Password=';ADOquery1.Close;
ADOquery1.SQL.Clear;
ADOquery1.SQL.Add('Select 日期,数据 From [tbDetail$] Where (DateValue(日期))>(DateValue(''2007-4-6'')) Order by 日期 Asc');
ADOquery1.Open;按理说查询的结果应该是:
日期 数据
2007-4-10 1.906
2007-4-9 1.879
但实际的结果却是:
日期 数据
2007-4-10 1.906
2007-4-10 1.906
2007-4-9 1.879
2007-4-9 1.879为什么会这样的?
这样也挺方便的.
如果查询不加“ Order by 日期 Asc”,结果就是正确的。但一加上“ Order by 日期 Asc”,就会出现重复结果了。