亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

用Delphi 開發數據庫程序經驗三則

2019-11-17 05:09:19
字體:
來源:轉載
供稿:網友

  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$#@60;$#@62;nil then
   begin
   try
   TempTable:=TClientDataSet.Create(application);
   TempTable.FieldDefs.Assign(AFieldDefs);
   TempTable.CreateDataSet;
   Result:=(TempTable as TDataSet);
   Except
   if TempTable$#@60;$#@62;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(′ ue′,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_NAME ″ib_udf″

  其中:MODULE_NAME為DLL的名稱,ENTRY_POINT為函數名。
  聲明后便可以使用,例如:
  select SUBSTR(country)
   from country

  本例使用的是Delphi安裝時自帶的IBLocal數據庫。用戶也可以自己編寫函數來擴充InterBase。 更多文章 更多內容請看數據庫相關文章專題,或

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩中文理论片| 日韩激情视频在线| 久久青草福利网站| 国产性猛交xxxx免费看久久| 日本国产精品视频| 国产精品海角社区在线观看| 日韩精品免费在线视频观看| 91手机视频在线观看| 亚洲欧美日韩精品久久| 亚洲xxxx视频| 久久精品视频一| 97香蕉久久超级碰碰高清版| 亚洲热线99精品视频| 成人女保姆的销魂服务| 亚洲国产精品系列| 日韩精品中文字幕在线观看| 亚洲激情在线视频| 欧美成人精品一区二区| 国产精品久久久久久久电影| 国产精品中文字幕在线观看| www.色综合| 日韩免费不卡av| 亚洲精品免费在线视频| 久久夜色精品亚洲噜噜国产mv| 91免费版网站入口| 日韩欧美视频一区二区三区| 国产成人在线一区| 欧美夫妻性生活xx| 欧美精品18videosex性欧美| 色综合久久天天综线观看| 国产精品久久久久久久久免费看| 欧美久久精品午夜青青大伊人| 久久久av免费| 欧美激情视频播放| 久久99久久99精品免观看粉嫩| 日韩专区在线观看| 欧美日韩免费观看中文| 国内精品视频在线| 国产精品亚洲自拍| 久久久精品999| 日韩成人在线播放| 亚洲奶大毛多的老太婆| 97在线看免费观看视频在线观看| 最近2019免费中文字幕视频三| 日韩av资源在线播放| yw.139尤物在线精品视频| 精品国偷自产在线| 亚洲精品色婷婷福利天堂| 国产精品av网站| 欧美精品性视频| 国产精品美女视频网站| 亚洲香蕉成人av网站在线观看| 欧美日韩在线观看视频| 亚洲成人激情图| 久久久av亚洲男天堂| 在线看福利67194| 欧美性资源免费| 欧美激情图片区| 久久久999成人| 精品久久久久久中文字幕大豆网| 欧美激情喷水视频| 91在线播放国产| 日韩精品视频免费在线观看| 欧美黑人性视频| 国产精品久久久久久久美男| 午夜精品99久久免费| 久热在线中文字幕色999舞| 国产精品久久久久影院日本| 亚洲老头同性xxxxx| 亚洲视频欧洲视频| 久久国产精品首页| 97在线观看免费高清| 亚洲欧美另类中文字幕| 亚洲视频综合网| 欧美性xxxxx| 久久精品视频在线观看| 欧美在线视频观看| 国内精品一区二区三区四区| 日韩成人黄色av| 18久久久久久| 日韩人体视频一二区| 久热99视频在线观看| 中文字幕精品www乱入免费视频| 国产精自产拍久久久久久蜜| 日本一区二区三区在线播放| 成人国产精品一区| 久久久久久999| 国产精品日本精品| 国产精品中文字幕在线观看| 91最新国产视频| 国产福利精品av综合导导航| 日韩av有码在线| 国产成人精品免费视频| 亚洲人成网站777色婷婷| 91在线观看免费网站| 2021国产精品视频| 国产精品视频专区| x99av成人免费| 精品欧美aⅴ在线网站| 综合136福利视频在线| 色婷婷综合成人av| 国产精品美女免费| 亚洲成年人在线| 91免费精品视频| 国产精品影片在线观看| 欧美亚洲在线播放| 中文字幕不卡在线视频极品| 成人网在线免费观看| 欧美大片va欧美在线播放| 色综合久久久久久中文网| 亚洲国产天堂网精品网站| 午夜精品蜜臀一区二区三区免费| 97视频在线免费观看| 91sao在线观看国产| 久久中文字幕一区| 日本一区二区三区在线播放| 亚洲人成在线观| 国产精品成人观看视频国产奇米| 激情久久av一区av二区av三区| 久久综合免费视频| 精品日韩视频在线观看| 91中文字幕在线| 欧美最顶级丰满的aⅴ艳星| 韩国三级日本三级少妇99| 深夜福利亚洲导航| 热久久99这里有精品| 久久婷婷国产麻豆91天堂| 欧美一级视频免费在线观看| 日韩中文字幕在线看| 日韩精品中文字幕视频在线| 亚洲精品国产美女| 在线播放日韩精品| 欧美性xxxxx极品| 成人黄色生活片| 亚洲精品一区中文字幕乱码| 国产精品久久久久久久久久小说| 九九热这里只有精品免费看| 成人午夜两性视频| 久久天天躁狠狠躁夜夜av| 色yeye香蕉凹凸一区二区av| 97超碰国产精品女人人人爽| 久久久免费观看视频| 亚洲另类激情图| 久久久精品久久| 91国偷自产一区二区三区的观看方式| 国产精品96久久久久久又黄又硬| 精品视频中文字幕| 一区二区三区视频免费| 第一福利永久视频精品| 18久久久久久| 日韩av一区二区在线观看| 欧美激情网友自拍| 亚洲黄页视频免费观看| www国产亚洲精品久久网站| 久久人人爽亚洲精品天堂| 国产精品影片在线观看| 欧美一二三视频| 久久久精品视频在线观看| 68精品国产免费久久久久久婷婷| 精品久久久久久亚洲精品| 欧美日韩性视频在线| 国产精品成人免费视频| 国产91色在线| 国产女人精品视频|