level 3
富庶不失荆州1
楼主
提取文本文件中的数据到dbf表中,另一窗体一段完全相同的代码没问题 可在form7提取的数据始终少1代码如下
begin
form7.checkbox1.Checked:=true;
Label1.Visible:=true;
form1.ADOQuery1.Close;
form7.ADOTable2.Close;
ADOTable2.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+form1.FileListBox1.Directory+';Extended Properties=dBase 5.0;Persist Security Info=False';
ADOTable2.TableName:='01.dbf';
//ADOQuery1.Close;
//ADOQuery1.SQL.Clear;
ss1:=TStringList.Create;
ss1.Delimiter:='$';
ss1.DelimitedText :=form1.memo1.Lines[0];
if ss1.Count < 4 then showmessage('文件错误,请检查是否为数据文件')
else
begin
form7.Button1.Visible:=false;
form7.ADOTable2.open;
form1.DataSource1.AutoEdit:= False;
j:=form1.memo1.Lines.Count;
label1.Caption:=inttostr(form1.memo1.Lines.Count); //这里得到的是数目是对的
for i:=0 to form1.memo1.Lines.Count do // 这里取得的数目就少1
begin
s:=form1.memo1.Lines[i];
s:= StringReplace(s,' ','',[rfReplaceAll]); //清除信息中的空格
if s<>'' then
begin
ss1.DelimitedText :=s;
ProgressBar1.Position:=(i*100) div (j);
Label1.Caption:='已处理信息'+' '+inttostr(i)+' '+'条,请稍候!';
Application.ProcessMessages;
if ADOTable2.Locate('no',ss1[0],[]) then //查找相同项目
begin
with ADOTable2 do
begin
edit;
2016年07月21日 13点07分
1
begin
form7.checkbox1.Checked:=true;
Label1.Visible:=true;
form1.ADOQuery1.Close;
form7.ADOTable2.Close;
ADOTable2.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+form1.FileListBox1.Directory+';Extended Properties=dBase 5.0;Persist Security Info=False';
ADOTable2.TableName:='01.dbf';
//ADOQuery1.Close;
//ADOQuery1.SQL.Clear;
ss1:=TStringList.Create;
ss1.Delimiter:='$';
ss1.DelimitedText :=form1.memo1.Lines[0];
if ss1.Count < 4 then showmessage('文件错误,请检查是否为数据文件')
else
begin
form7.Button1.Visible:=false;
form7.ADOTable2.open;
form1.DataSource1.AutoEdit:= False;
j:=form1.memo1.Lines.Count;
label1.Caption:=inttostr(form1.memo1.Lines.Count); //这里得到的是数目是对的
for i:=0 to form1.memo1.Lines.Count do // 这里取得的数目就少1
begin
s:=form1.memo1.Lines[i];
s:= StringReplace(s,' ','',[rfReplaceAll]); //清除信息中的空格
if s<>'' then
begin
ss1.DelimitedText :=s;
ProgressBar1.Position:=(i*100) div (j);
Label1.Caption:='已处理信息'+' '+inttostr(i)+' '+'条,请稍候!';
Application.ProcessMessages;
if ADOTable2.Locate('no',ss1[0],[]) then //查找相同项目
begin
with ADOTable2 do
begin
edit;