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

BCB 6 使用TSQLConnection 連 MySQL 5.0.51a 的問題

答題得分者是:leveon
herbertxxx
一般會員


發表:2
回覆:2
積分:0
註冊:2012-08-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-08-13 23:17:19 IP:1.162.xxx.xxx 訂閱
目前小弟是用TSQLConnection (dbxopenmysql50.dll)連上 MySQL 5.0.51a database. 連線已無問題. 但一直碰到一個Exception無法解決. 首先使用元件的順序是這樣的

TSQLConnection --> TSQLQuery --> TDataSetProvider --> TClientDataSet --> TDataSource --> TDBGRID and TDBNavigator

TSQLQuery執行任何SQL都無問題. 但只要是TDBGRID and TDBNavigator 有修改資料. 經Post或Refresh後立刻就出現"Record not found or changed by another user", 且是在
TClientDataSet 的OnAfterPose event執行 ClientDataSet->ApplyUpdates(-1); 時出現的. 經爬文後調整過TDataSetProvider->UpdateMode為upWhereKeyOnly與設定table內的key field都無用. 請問各位高手有解嗎?
------
Herbert
leveon
資深會員


發表:30
回覆:389
積分:303
註冊:2012-02-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-08-14 09:37:39 IP:118.165.xxx.xxx 訂閱
設定 目前小弟是用TSQLConnection (dbxopenmysql50.dll)連上 MySQL 5.0.51a database. 連線已無問題. 但一直碰到一個Exception無法解決. 首先使用元件的順序是這樣的

TSQLConnection --> TSQLQuery --> TDataSetProvider --> TClientDataSet --> TDataSource --> TDBGRID and TDBNavigator

TSQLQuery執行任何SQL都無問題. 但只要是TDBGRID and TDBNavigator 有修改資料. 經Post或Refresh後立刻就出現"Record not found or changed by another user", 且是在
TClientDataSet 的OnAfterPose event執行 ClientDataSet->ApplyUpdates(-1); 時出現的. 經爬文後調整過TDataSetProvider->UpdateMode為upWhereKeyOnly與設定table內的key field都無用. 請問各位高手有解嗎?
herbertxxx
一般會員


發表:2
回覆:2
積分:0
註冊:2012-08-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-08-20 09:38:27 IP:60.250.xxx.xxx 訂閱
leveon大大描述得再詳細一點, 有時TDBGRID只需修改單一欄位, 此欄位也確認值是不同的, 但我曾在TClientDataSet的Before post event 前加入一行強制寫入資料至key field, 但還是出現相同訊息. 經過幾天奮戰後, 感覺是因TDBGRID修改資料經TClientDataSet處理時, SQL 的 WHERE condition沒下或沒下對, 以致於出現此錯誤訊息. Thanks!


===================引 用 leveon 文 章===================
設定 目前小弟是用TSQLConnection (dbxopenmysql50.dll)連上 MySQL 5.0.51a database. 連線已無問題. 但一直碰到一個Exception無法解決. 首先使用元件的順序是這樣的

TSQLConnection --> TSQLQuery --> TDataSetProvider --> TClientDataSet --> TDataSource --> TDBGRID and TDBNavigator

TSQLQuery執行任何SQL都無問題. 但只要是TDBGRID and TDBNavigator 有修改資料. 經Post或Refresh後立刻就出現"Record not found or changed by another user", 且是在
TClientDataSet 的OnAfterPose event執行 ClientDataSet->ApplyUpdates(-1); 時出現的. 經爬文後調整過TDataSetProvider->UpdateMode為upWhereKeyOnly與設定table內的key field都無用. 請問各位高手有解嗎?
------
Herbert
編輯記錄
herbertxxx 重新編輯於 2012-08-19 19:39:13, 註解 無‧
herbertxxx 重新編輯於 2012-08-19 19:40:09, 註解 無‧
系統時間:2024-04-27 4:35:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!