中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Delphi > 综合文章
临时表创建
作者:未知 时间:2005-08-07 21:00 出处:编程爱好者网站 责编:chinaitpower
              摘要:临时表创建
数据输入是开发数据库程序的必然环节。在Client/Server结构中,客户端可能要输入一批数据后,再向服务器的后台数据库提交,这就需要在本地(客户端)建立临时数据表来存储用户输入的数据,待提交后,清除本地数据表。这种方法的好处是:提高输入效率,减小网络负担。

  由于用户一次输入的数据量一般情况下较小(不会超过几百条记录),所以临时表可以建立在内存中,这样处理速度较快。临时表创建有如下两种方法:

 1.使用查询控件创建临时表
  第1步:在窗体上放入查询控件(TQuery),并设置好所连接的数据表。
  第2步:添加如下语句:
  TQuery. CachedUpdates=True;
  TQuery. RequestLive=True。
 第3步:在原有的SQL语句后加入一条Where子语句,要求加入这条Where子语句后SQL查询结果为空。
  例如:
  SELECT Biolife."Species No", Category, Common_Name, Biolife."Species Name", Biolife."Length (cm)", Length_In, Notes, Graphic
  FROM "biolife.db" Biolife
  where Biolife.Category=′A′ and Biolife.Category=′B′
  这样临时表就建立好了。
  2.使用代码创建临时表
  函数代码如下:
  function CreateTableInMemory(const AFieldDefs:TFieldDefs):
  TDataSet;
  var TempTable:TClientDataSet;
  begin
  TempTable:=nil;
  Result:=nil;
  if AFieldDefs〈〉nil then
  begin
  try
  TempTable:=TClientDataSet.Create(Application);
  TempTable.FieldDefs.Assign(AFieldDefs);
  TempTable.CreateDataSet;
  Result:=(TempTable as TDataSet);
  Except
  if TempTable〈〉nil then TempTable.Free;
  Result:=nil;
  raise;
  end
  end
  end;
  在程序中按如下方法调用:
  procedure TForm1.Button1Click(Sender: TObject);
  var ADataSet:TDataSet;
  begin
  ADataSet:=TDataSet.Create(Self);
  with ADataSet.FieldDefs do
  begin
  Add(′Name′,ftString,30,False);
  Add(′Value′,ftInteger,0,False);
  end;
  with DataSource1 do
  begin
  DataSet:=CreateTableInMemory(ADataSet.FieldDefs);
  DataSet.Open;
  end;
  ADataSet.Free;
  end;
  这样,临时表就创建完成。
  方法1使用简单,但由于利用了查询控件,清空数据时需要查询服务器后台数据库,所以速度稍慢,而且不适用于临时表中各个字段由几个数据表的字段拼凑而成的情况。方法2适用范围广、速度快,但需要编写代码。 

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有