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

使用BDEClientDataSet有錯誤

尚未結案
wyvern
一般會員


發表:19
回覆:31
積分:15
註冊:2003-06-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-07 00:43:57 IP:61.229.xxx.xxx 未訂閱
請問: BDEClientDataSet是不是應該和TClientDataSet一樣的用法呢?    小弟在BDEClientDataSet某個Field,屬性ProviderFlags的pfInKey=true, BDEClientDataSet的UpdateMode=upWhereKeyOnly, 可是在執行ApplyUpdate時,還是出現"no key specified"的錯誤. 為什麼會這樣? 
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-07 10:05:06 IP:211.162.xxx.xxx 未訂閱
Hi,wyvern,您好! BDEClientDataSet這類元件屬於早期提供的,具體的用法和TClientDataSet一樣(除了繼承的父類不太一樣),不妨看看下面這篇: http://delphi.ktop.com.tw/topic.php?topic_id=37574    下面小弟僅以TClientDataSet來討論一下您出現的問題: 在設置TClientDataSet時,應該先調整PacketRecord的屬性,使用ApplyUpdates是將資料真正更新回後臺資料庫中

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if(ClientDataSet1->ChangeCount> 0)
  {
    ClientDataSet1->ApplyUpdates(0);
    Edit1->Text = IntToStr(ClientDataSet1->ChangeCount);
  }
}
還可以參考這篇: http://delphi.ktop.com.tw/topic.php?topic_id=35887 ================================= 人生在勤,不索何獲 業精於勤荒於嬉,行成於思毀於隨 臨淵羡魚不如退而結網
------
人生在勤,不索何获?
wyvern
一般會員


發表:19
回覆:31
積分:15
註冊:2003-06-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-07 13:11:00 IP:61.222.xxx.xxx 未訂閱
小弟之前就是使用ClientDataSet的. TDataBase=>TQuery=>TProvider=>TClientDataSet. 設定pfInKey和UpdateMode後,就可以使用了, 只是覺得有點元件太多,所以才想改用TDataBase=>BDEClientDataSet. 而如果UpdateMode是upWhereAll,也是沒問題. 只是想要和ClientDataSet一樣用key field來update,就不行了. 不知道是為什麼?
系統時間:2024-05-05 22:43:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!