線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1015
推到 Plurk!
推到 Facebook!

Tdatase&TADOdataset 不同??

答題得分者是:yachanga
JamesLiang
初階會員


發表:54
回覆:78
積分:31
註冊:2003-02-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-28 02:45:25 IP:63.211.xxx.xxx 未訂閱
請教先進..我仿照delphi demo寫了個程式,在datamodole寫一段applyupdate,但 complier時系統告知有問題,我不知道問題何在,程式如下 function Tdatamodule1.DataSetApplyUpdates(DataSet: TADODataSet; Apply: Boolean): Boolean; begin Result := True; with TADODataSet(DataSet) do begin if (State in dsEditModes) then begin if Apply then begin TADODataset.UpdateBatch(arAll); CancelUpdates; end else begin if (MessageDlg('Unsaved changes, exit anyway?', mtConfirmation, [mbYes, mbCancel], 0) = mrYes) then CancelUpdates else Result := False; end; end; end; 另外我想問的是tdadaset 和 tadodataset 執行上速度有沒差別?若沒差別為何要用ado?因為bde可採用別名的方式,在開發機器與運行機器的轉移也方便. 多謝先進指導
yachanga
資深會員


發表:24
回覆:335
積分:296
註冊:2003-09-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-28 08:57:56 IP:210.68.xxx.xxx 未訂閱
Hi JamesLiang您好: 您說complier時系統告知有問題, 可否把訊息Po出來 以下是我建議修改地方 試試看    確定dataset.LockType:=ltBatchOptimistic
function Tform1.DataSetApplyUpdates(DataSet: TADODataSet; Apply: Boolean): Boolean;
begin
Result := True;
 with TADODataSet(DataSet) do
  begin
   if (State in dsEditModes) then
   begin
    if Apply then
    begin
     Dataset.UpdateBatch(arAll); //TADODataset 是class name 會有問題 
     CancelUpdates;
    end
   end
   else
   begin
     if (MessageDlg('Unsaved changes, exit anyway?', mtConfirmation,
        [mbYes, mbCancel], 0) = mrYes) then
       CancelUpdates
     else
      Result := False;
   end;
  end;
end;
ADO 與BDE 差別請參考.. http://delphi.ktop.com.tw/topic.php?TOPIC_ID=42535 http://delphi.ktop.com.tw/topic.php?topic_id=43604 http://delphi.ktop.com.tw/topic.php?topic_id=42812 小弟的建議 選擇Driver除了考慮效能, 可使用別名, 另外您還需考慮安裝與版本支援... 1. 基本上M$都有內含ADO, 但是BDE 必須額外安裝 2. M$ ADO會繼續支援, Borland BDE 版本聽說好像不會再更新了 不過現有的>~悠遊法國號~ 發表人 - yachanga 於 2004/05/28 09:12:38
JamesLiang
初階會員


發表:54
回覆:78
積分:31
註冊:2003-02-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-29 00:23:53 IP:63.211.xxx.xxx 未訂閱
多謝!!
系統時間:2024-06-29 16:05:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!