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

DBNavigator1存取mysql的問題

尚未結案
mygod
一般會員


發表:52
回覆:64
積分:23
註冊:2002-09-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-09-13 21:51:41 IP:211.74.xxx.xxx 未訂閱
請問用DBNavigator1存取mysql資料庫時為何無法新增刪除修改資料庫內容 執行時在DBGrid中可以看到修改的內容(新增刪除修改) but資料庫的內容其實並未真正改變... why??? 麻煩各位解答...謝謝 oh~mygod
------
oh~mygod
Ethan
版主


發表:101
回覆:170
積分:78
註冊:2006-07-05

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-09-13 23:20:47 IP:218.165.xxx.xxx 未訂閱
你是用TQuery嗎?如果是的話,RequestLive設為True即可!!
mygod
一般會員


發表:52
回覆:64
積分:23
註冊:2002-09-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-09-14 22:24:39 IP:211.74.xxx.xxx 未訂閱
還是不行ㄟ why??? oh~mygod
------
oh~mygod
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-09-15 08:42:39 IP:203.217.xxx.xxx 未訂閱
問題不夠清楚 1. 除了RequestLive須為True,須看你的Query是否可編輯, 例如SQL中有join其他Table或有Groupby等均無法編輯,除非用CacheUpdate 2. 若用了CacheUpdate, 最後須ApplyUpdate 3. 修改後是否未post. 修改後若移動Record(如上一筆或下一筆)會自動post, 若修改完直接離開則未post 4. TQuery在新增後若未重新close-open, 可能看不到新增之資料,但已正確寫入
mygod
一般會員


發表:52
回覆:64
積分:23
註冊:2002-09-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-09-15 10:54:04 IP:211.74.xxx.xxx 未訂閱
Query1.UpdateSQL:=UpdateSQL1; DataSource1.DataSet:=Query1; DBGrid1.DataSource:=DataSource1; DBNavigator1.DataSource:=DataSource1; Question1: 當RequestLive設為True時的確可以新增刪除修改 但新增之後在DBGrid顯示的新的一筆資料卻會吃掉原本在其下方的資料 而mysql資料庫中,新增的資料的確存在,被吃掉的資料也存在 Question2: 若把CacheUpdate設為True請問各位在何時用Query1.ApplyUpdates?? 目前我想到的是在DBNavigator1中的onClick事件偵測按下的是nbpost時做動作: procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn); begin if Button=nbpost then query1.ApplyUpdates end; 但如此卻又衍生一個問題,當按下delete時如果confirmdelete為true, 則會出現警告訊息,該如何偵測警告訊息的回傳值呢? 如果關掉confirmdelete,自己寫warn訊息卻會造成警告訊息出現前就刪除的情形,麻煩各位提供點意見,謝謝。 oh~mygod
------
oh~mygod
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-09-15 11:35:58 IP:203.217.xxx.xxx 未訂閱
Question1: 當RequestLive設為True時的確可以新增刪除修改 但新增之後在DBGrid顯示的新的一筆資料卻會吃掉原本在其下方的資料 而mysql資料庫中,新增的資料的確存在,被吃掉的資料也存在 這是一直存在的問題,一般我們只好在新增後要post前, 用變數存下key值->close query->重新open->locate回原位置 整個改用TClientDataSet可以解決這些問題 Question2: 若把CacheUpdate設為True請問各位在何時用Query1.ApplyUpdates?? 如果你要隨時存,可以寫在Query之Afterpost, 不過最好習慣用DataBase.applyupdate, 不要用Query1.applyUpdates,因前者會自動包成TranSaction.
mygod
一般會員


發表:52
回覆:64
積分:23
註冊:2002-09-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-09-15 16:11:43 IP:211.74.xxx.xxx 未訂閱
感謝各位幫我解答 目前大致上都可以正常work 再請問二個問題 一、mysql是不是不支援transaction... 所以當DataBase.STARTTRANSACTION就會發生錯誤... 二、如果程式使用了BDE,該如何讓執行檔在沒有安裝BDE的環境下執行 發表人 - mygod 於 2002/09/15 17:29:15
------
oh~mygod
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-09-15 18:23:31 IP:211.22.xxx.xxx 未訂閱
1.目前不支援 transaction, 以後則不知 2.用了 BDE, 就要有 BDE 的環境才能 Run 吧!
mygod
一般會員


發表:52
回覆:64
積分:23
註冊:2002-09-10

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-09-15 21:01:51 IP:61.59.xxx.xxx 未訂閱
感謝hagar... but,除了製作安裝程式外 ,...難道沒有把必要元件包起來的方法?? 真的沒有??...有人try過嗎?? oh~mygod
------
oh~mygod
系統時間:2024-05-03 19:49:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!