全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3296
推到 Plurk!
推到 Facebook!

Soap 和 PacketRecords

答題得分者是:Mickey
a0
一般會員


發表:11
回覆:29
積分:18
註冊:2003-09-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-11-05 19:33:45 IP:59.115.xxx.xxx 訂閱
我使用了SoapConnection 和ClientDataset連上Soap Server ,Soap server是由Delphi製作的
PacketRecords設置成100 Client端確實取了100筆Record,但在往下Scroll時
出現了 key violation 的錯誤,請問這是Delphi 7 的Bug嗎,還是有什麼我沒設置到
shunaaron
高階會員


發表:13
回覆:94
積分:106
註冊:2006-10-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-11-08 11:47:06 IP:220.128.xxx.xxx 未訂閱
key violation 不是表示你PK有重覆到了嗎?
檢查一下資料庫的資料看看
------
程式沒有這麼難
只是還沒打通其中要絕
a0
一般會員


發表:11
回覆:29
積分:18
註冊:2003-09-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-11-08 11:49:14 IP:59.115.xxx.xxx 訂閱
不是key的問題 ,使用delphi寫的SOAP server IIS,packrecord是不管用的
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-01-10 10:38:13 IP:218.163.xxx.xxx 訂閱
你好:

你的問題, 應該是 AP Server 的"無狀態", Fetch 100 筆之後 DataSetProvider.DataSet 就 Close 了.

當 ClientDataSet.GetNextPacket 時, DataSetProvider.DataSet 又 Open, 而 Cursor 在 First, 所以又取得 前 100 筆, 造成 Key Violation

一般解法是 :

ClientDataSet.BeforeGetRecords 傳 OwnerData( Primary Key Value 或 RecordCount ) 給 AP Server 的 DataSetProvider, Dataset Open 後, 依據 OwnerData 找到正確 Cursor 位置.

===================引 用 a0 文 章===================
不是key的問題 ,使用delphi寫的SOAP server IIS,packrecord是不管用的
系統時間:2024-04-26 8:24:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!