·Delphi中用SendMessage给Edit控件发
·delphi下TStringList函数的用法
·Delphi下动态数组的使用详解
·Delphi写的清空回收站程序
·在Delphi中静态调用DLL的技巧
·通过delphi用outlook发送邮件的方法
·delphi有关网络访问的函数使用
·delphi中的MessageBox用法心得
·通过delphi操作注册表心得
·Delphi中调用API函数
·delphi输出excel报表
·delphi 字符串替换函数
·delphi遍历文件子目录
·delphi截取字符串最完美的方法
·在Delphi中MaskEdit的具体用法
·在Delphi中ListView的具体用法
·用delphi实现对注册表类的监视和扫描
·通过DELPHI实现文本类文件显示和声音
 
 
 

DELPHI中通过Timer组件批量处理数据

日期:2008年03月28日 11:59:24 作者:Delphi 关键字:delphi2007教程

本页内容为:DELPHI中通过Timer组件批量处理数据,该文章本站转载自网络,如有侵权请告之,我们将会及时将其删除,其正文内容如下:

不过笔者在此要讲的是一种快捷,高效,建议的数据批处理方式..具体代码和操作方式如下:数据库基本的连接代码:

procedure TForm1.FormCreate(Sender: TObject);
var
MyPath:string;
const
MyPassW ='****'; ///数据库密码
begin
MyPath:=ExtractFilePath(ParamStr(0)); ////数据库路径
AdoConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
MyPath+'db\db.mdb;Jet OLEDB:Database Password='+
MyPassW+';Persist Security Info=False';
///////设置数据引擎并加载密码
ADOConnection1.LoginPrompt := false;
ADOConnection1.Connected := true;
ADOTable1.Connection := ADOConnection1;
ADOTable1.TableName:='tab1';
ADOTable2.Connection := ADOConnection1;
ADOTable2.TableName:='tab2';
try
ADOTable2.Open;
ADOTable1.Open;
DataSource1.DataSet := ADOTable1;
DBGrid1.DataSource := DataSource1;
DBNavigator1.DataSource := DataSource1;
except
MessageBox(0,'无法打开数据库','错误',MB_OK);
end;

/////////////Timer控件控制循环

begin
///////////进行差错控制的异构表的批量数据处理
DataSource2.DataSet.Insert;
ADOTable2.Fields[0].AsString:=ADOTable1.Fields[0].AsString;
ADOTable2.Fields[1].AsString:=ADOTable1.Fields[1].AsString;
DataSource1.DataSet.Next;
if DataSource1.DataSet.Eof = True then timer1.Enabled := false ;
if DataSource1.DataSet.Eof = True then ShowMessage('数据以导入成功!');
except
MessageBox(0,'数据导入失败','错误',MB_OK);
end;
end;
DataModule2.DataSource1.DataSet.Next;//////////此句最为关键,即为循环语句.
插入一条记录的时间(Timer的响应时间)是可以设置的.

这是利用Timer组件的特性.DataSet.Next属性设计而成的异构表之间的数据批量导入功能,
那么删除,更新等功能都有类似代码可以实现(使用DataSource的属性修改即可).
因为有查询功能所以我在开发中利用的是TADOQuery组件,大致方法一样.


 
 
如果你对本文DELPHI中通过Timer组件批量处理数据有意见或看法,请点此留言