adoTable多长时间能接受到插入的数据集,值得大家一起研究
Rubi 2006-05-12 02:04:36
我先往数据库中插入数据,然后再根据对应表返回的记录数在来,如果我直接运行button, ShowMessage(intToStr(adoTbScp.recordcount));得值为0,而我设置断点,等几秒在F9运行,显示的是600,问题就是上面数据刚插入进去,这里的adoTbScp表还没有来的急接受到信息,不知道大家碰见过这样的情况没有?
=======================================================
openDialog1.Filter :='Text files (*.txt)|*.TXT';
if openDialog1.Execute then //倒入的文本文件名要求简单,不要用过多的汉字
begin
adoQ.Close;
adoq.SQL.Clear;
adoq.SQL.Text :='select * from scp where time =#'+Formatdatetime('YYYY-MM-DD',DateTimePicker1.Date)+'#';
adoQ.Open;
if adoQ.RecordCount > 0 then
begin
adoTbScp.Connection.Execute('delete from scp where time =#'+Formatdatetime('YYYY-MM-DD',DateTimePicker1.Date)+'#');
IniFile(ExtractFileName(OpenDialog1.FileName));
adoCoon.Connected:=false;
SQLStr:='insert into Scp select * From [Text;Database='+ExtractFilePath(openDialog1.FileName)+';Format=Delimited()].'+ExtractFileName(openDialog1.FileName);
adoCoon.Execute(SQLStr);
adoCoon.Connected:=true;
end
else
begin
IniFile(ExtractFileName(OpenDialog1.FileName));
adoCoon.Connected:=false;
SQLStr:='insert into Scp select * From [Text;Database='+ExtractFilePath(openDialog1.FileName)+';Format=Delimited()].'+ExtractFileName(openDialog1.FileName);
adoCoon.Execute(SQLStr);
adoCoon.Connected:=true;
end
end;
adoTbScp.Close;
adoTbScp.Open;=====================================请看这一行
ShowMessage(intToStr(adoTbScp.recordcount));
while not adoTbScp.Eof do
begin
adoTbScp.Edit;
adoTbScp.FieldByName('scp').Value := rightStr(StringReplace(ExtractFileName(OpenDialog1.FileName),ExtractFileExt(OpenDialog1.FileName),'',[]),4);
adoTbScp.FieldByName('time').Value :=Formatdatetime('YYYY-MM-DD',DateTimePicker1.Date);
adoTbScp.Post;
adoTbScp.next;
end;