B
blackeagle136
Unregistered / Unconfirmed
GUEST, unregistred user!
我这里有20多个EXCEL文件,表的格式不太一样,但是有相同列,我需要根据相同的列来检索需要的数据,检索部分的程序如下:
for i:=0 to Memo1.Lines.Count-1 do
begin
ADOConnection1.Connected:=False;
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Memo1.Lines.Strings+';Extended Properties=Excel 8.0;Persist Security Info=False';
ADOConnection1.Connected:=True;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT 计划日期,设备名称,型号,规格 FROM [excel 8.0;database='+Memo1.Lines.Strings+'].[Sheet1$] WHERE 型号 LIKE "%'+Kword.Text+'%"'+' OR 规格 LIKE "%'+Kword.Text+'%"');
ADOQuery1.Parameters.Clear;
ADOQuery1.Open;
end;
其中i为Memo控件中文本的行数,Kword.Text是用户输入的检索数据,Memo1.Lines.Strings中则是要检索的EXCEL文件的路径,用i循环实现检索所有的文件,但是有的文件没问题,有的文件检索时则弹出错误提示"未知",也没有其它的提示,实在不知道问题出在哪里,我检查过文件的结构没问题,如过SQL检索时用精确查找=则没有问题,用模糊检索 LIKE 则会出现"未知"的错误提示,请大家帮忙分析一下,还有因为用的是i循环检索,检索的结果放在DBGRID中,检索下一个文件时则会将上一个文件检索的结果覆盖掉,这怎么解决啊?希望大家帮帮忙,谢谢了.
for i:=0 to Memo1.Lines.Count-1 do
begin
ADOConnection1.Connected:=False;
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Memo1.Lines.Strings+';Extended Properties=Excel 8.0;Persist Security Info=False';
ADOConnection1.Connected:=True;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT 计划日期,设备名称,型号,规格 FROM [excel 8.0;database='+Memo1.Lines.Strings+'].[Sheet1$] WHERE 型号 LIKE "%'+Kword.Text+'%"'+' OR 规格 LIKE "%'+Kword.Text+'%"');
ADOQuery1.Parameters.Clear;
ADOQuery1.Open;
end;
其中i为Memo控件中文本的行数,Kword.Text是用户输入的检索数据,Memo1.Lines.Strings中则是要检索的EXCEL文件的路径,用i循环实现检索所有的文件,但是有的文件没问题,有的文件检索时则弹出错误提示"未知",也没有其它的提示,实在不知道问题出在哪里,我检查过文件的结构没问题,如过SQL检索时用精确查找=则没有问题,用模糊检索 LIKE 则会出现"未知"的错误提示,请大家帮忙分析一下,还有因为用的是i循环检索,检索的结果放在DBGRID中,检索下一个文件时则会将上一个文件检索的结果覆盖掉,这怎么解决啊?希望大家帮帮忙,谢谢了.