网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: ASP学习资源 >> 网站开发 >> Delphi教程 >> 文章正文
  用Delphi 开发数据库程序经验三则            【字体:
用Delphi 开发数据库程序经验三则
      
1.建立临时表

  数据输入是开发数据库程序的必然环节。在Client/Server结构中,客户端可能要输入一批数据后,再向服务器的后台数据库提交,这就需要在本地(客户端)建立临时数据表来存储用户输入的数据,待提交后,清除本地表数据。这种方法的好处是:提高输入效率,减小网络负担。

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

  方法1:使用查询控件(TQuery)

  第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适用范围广、速度快,但需要编写代码。(代码中TFieldDefs的使用方法十分简单,见Delphi的联机帮助)。

  2.配置数据引擎(BDE、SQL Link)

  有关数据库程序分发时,需要携带数据引擎(BDE、SQL Link),并且在客户端安装完程序后还需要配置数据引擎,如用户名(username)、密码(Password)等等。如果手工配置的话,工作量比较大(根据客户机数量而定)。而InstallShield For Delphi又好像没有这方面的选项,其实InstallShield For Delphi可以做到,在生成安装程序的目录里有一个*.iwz的文本文件,只要在[IDAPI Alias]片段中手工加入即可。 例如:      

   [IDAPI Alias]

   usesname=SYSDBA

   password=masterkey

  安装程序后数据引擎自动配置完毕。

  3.在InterBase数据库中使用函数

  程序员可能在用InterBase作为后台数据库时,会为其提供的函数过少而感到不方便(只有四个),无法方便地编写出复杂的存储过程。InterBase本身无法编写函数,但它可以使用外部函数(调用DLL中的函数)。下例中说明如何在InterBase 中声明SUBSTR函数。

  DECLARE EXTERNAL FUNCTION SUBSTR

   CSTRING(80), SMALLINT, SMALLINT

   RETURNS CSTRING(80)

   ENTRY_POINT ″IB_UDF_substr″ MODULE_NA

[1] [2] 下一页

  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    DELPHI:利用INI文件实现界面…
    巧用日期转换函数验证用户输…
    在Delphi 7 中用Indy开发Soc…
    在Delphi中用ADSI创建IIS的虚…
    在DELPHI程序中拨号上网
    在Delphi中侦测剪贴板的变化
    Delphi实现远程屏幕抓取
    改变VCL的行为--一个使用可视…
    怎样用delphi制作一个IPhunt…
    TWebBrowserTWebBrowser与MS…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    企业专区
    司法考试
    经济论文
    国内资讯
    两性知识
    健康知识
    现代文学
     
    行业资讯
    案例判例
    教育论文
    国外资讯
    性爱技巧
    保健养生
    网络文学
     
    行销知识
    理论研究
    社会论文
    游戏策划
    两性生理
    两性健康
    古典文学
     
    行销实战
    司法解释
    财税论文
    程序教程
    两性心理
    心理健康
    武侠言情
     
    行销资源
    样本范本
    证券论文
    美术教程
    孕育知识
    心理测试
    科幻小说
     
    网络广告
    法规大全
    医学论文
    手机游戏
    两性误区
    家庭医生
    侦探恐怖
     
    电信产业
    法律论文
    管理论文
    移动平台
    两性故事
    老年保健
    纪实文学
     
    投资信息
    法律咨询
    会计论文
    项目管理
    性情男女
    性格测试
    少儿文学
     
    传播论坛
    法律援助
    实用文书
    市场运营
    成人笑话
    性爱测试
    星座知识
    Copyright © 2005-2008 asp.u258.net All rights reserved.
    本站资源部分来自互联网如有侵犯你的权益请与我们联系