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

dbexpress修改字段的问题

答題得分者是:Justmade
xsh123
一般會員


發表:12
回覆:18
積分:6
註冊:2003-08-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-12 09:13:48 IP:61.132.xxx.xxx 未訂閱
我用SQLConnection TSQLQuery TDataSetProvider TClientDataSet SQLConnection连接SQL2000数据库 但是如果我不将记录从头移到尾,直接修改字段,POST之后就报如下错误: Unable to find record. No Key Specified. (DataSetProvider1的updatemode为upWhereChanged和upWhereKeyOnly的情况下) 或者 SQL State: HY000, SQL Error Code: 0 (DataSetProvider1的updatemode为upWhereAll的情况下) 一定要先将记录从头移到尾,然后修改字段,POST一切正常.这是为什么?另怎么通过OriginalException对象来取得进一步的错误信息?
Mickey
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-12 11:03:19 IP:218.163.xxx.xxx 未訂閱
DataSetProvider.UpdateMode = upWhereKeyOnly 時, 須定義 TField.ProviderFlags 中 pfInKey : 1. TSQLQuery 按滑鼠右鍵(或 Double Click SQLQuery), 叫出 Fields Editor... 2. 於 Fields Editor 中按滑鼠右鍵, Add All Fields 將 Field 加入. 3. 選定 Primary Key Fields, 於 Property Editor 中 ProviderFlags->pfInKey->True. 4. 若 Primary Key 由多個字段組成, 則重複第三點.
xsh123
一般會員


發表:12
回覆:18
積分:6
註冊:2003-08-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-12 13:51:06 IP:61.132.xxx.xxx 未訂閱
我试过了,仍然有这种情况. handlereconcileerror窗提示的错误信息为 SQL State: HY000, SQL Error Code: 0
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-12 14:14:43 IP:218.16.xxx.xxx 未訂閱
I have a quick look at google search and it seems it is a dbexpress bug which has no good workaround now. Most answer is to use third party driver by corelab (www.crlab.com) See Google result in : http://groups.google.com/groups?hl=zh-TW&ie=UTF-8&oe=UTF-8&q=Delphi DBExpress HY000
Brian77
中階會員


發表:8
回覆:114
積分:94
註冊:2002-05-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-14 16:11:23 IP:61.61.xxx.xxx 未訂閱
補充一下... 這個錯誤和 UpdateMode 無關, 關鍵在於 TClientDataSet.PacketRecords 當它為 -1 時, 可正常運作 但當它不是 -1 時, 而 Client 又未讀取所有資料時, 就會出這個錯 改用 CoreLab 的 DLL 就可以解決這個問題, 不過那又得花錢 另一個方法是, 不使用 PacketRecords, 但這樣在大量資料時又顯得開檔很慢 dbExpress For MS-SQL 的 Bug 真是多
系統時間:2024-11-25 22:44:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!