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

請問主鍵??

尚未結案
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-11-19 12:10:45 IP:211.74.xxx.xxx 未訂閱
請問要判斷主鍵是否重複其判斷程式應放在何處較合適?? dbedit1.onexit??
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-11-19 12:49:00 IP:211.20.xxx.xxx 未訂閱
建議放在主鍵欄位的ONValidate事件做檢查的動作 @@~~飛翔在天際的精靈~~@@ 發表人 - andersonhsieh 於 2002/11/19 12:50:12
------
@@~~飛翔在天際的精靈~~@@
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-11-19 13:03:30 IP:211.74.xxx.xxx 未訂閱
引言: 建議放在主鍵欄位的ONValidate事件做檢查的動作 @@~~飛翔在天際的精靈~~@@ 發表人 - andersonhsieh 於 2002/11/19 12:50:12
謝謝你,因為我想避免在Table內寫程式所以是否還有其他方式
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-11-19 13:11:37 IP:211.20.xxx.xxx 未訂閱
WHY? @@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-11-19 13:29:11 IP:61.221.xxx.xxx 未訂閱
資料庫有對主鍵做自動給號嗎? 如果有那主鍵都輸入0就好ㄌ!!! 如果沒有那先搜尋主鍵欄位最大值再加到 dbexit上面ㄅㄟ!!! 是笨方法!不要笑我喔~"~
------
======================
昏睡~
不昏睡~
不由昏睡~
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-11-19 16:57:09 IP:211.74.xxx.xxx 未訂閱
引言: WHY? @@~~飛翔在天際的精靈~~@@
因為我想動態產生TTable因此Table中不想有程式
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-11-19 17:01:24 IP:211.74.xxx.xxx 未訂閱
引言: 資料庫有對主鍵做自動給號嗎? 如果有那主鍵都輸入0就好ㄌ!!! 如果沒有那先搜尋主鍵欄位最大值再加到 dbexit上面ㄅㄟ!!! 是笨方法!不要笑我喔~"~
謝謝,因為除了自動給號外還需提供彈性給user修改所以要判斷是否重複
payne
初階會員


發表:1
回覆:40
積分:38
註冊:2002-04-19

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-11-19 17:16:29 IP:140.92.xxx.xxx 未訂閱
我會用TQuery寫SELECT到資料庫中找是不是有USER輸入之號碼,如果有找到資料就秀訊息給他,請他重新輸入。
payne
初階會員


發表:1
回覆:40
積分:38
註冊:2002-04-19

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-11-19 17:22:38 IP:140.92.xxx.xxx 未訂閱
呀!不對,您原來的問題是'其判斷程式應放在何處較合適?? ',所以看來您一定是跟我一樣的做法。原則上我也是跟您一樣放在OnExit啦!
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#10 引用回覆 回覆 發表時間:2002-11-19 17:27:53 IP:211.78.xxx.xxx 未訂閱
引言: 請問要判斷主鍵是否重複其判斷程式應放在何處較合適?? dbedit1.onexit??
一般放在onexit上, 不過記得加上 if table1.state in [dsedit,dsinsert] then begin end; 否則會造成你的dbedit元件不是在編輯或新增模式一樣會被執行主鍵判斷的作業哦!
isthatu
初階會員


發表:80
回覆:47
積分:25
註冊:2002-06-26

發送簡訊給我
#11 引用回覆 回覆 發表時間:2002-11-27 00:23:50 IP:61.223.xxx.xxx 未訂閱
引言: 建議放在主鍵欄位的ONValidate事件做檢查的動作 @@~~飛翔在天際的精靈~~@@
請問在此EVENT 是否還是要下一個 select PK form table where XXXX.....的SQL語法去核對資料庫的主鍵是否相同 有沒有FieldByName('PK').ifPkrepeat 之類的方法直接判定 .ifPKrepeat是我想出來的 因為一直找不到...... -----------------------BCDEFHIJKLMNOPQRSTUVWXZ ------------------------
------
BCDEFHIJKLMNOPQRSTUVWXZ
isthatu
初階會員


發表:80
回覆:47
積分:25
註冊:2002-06-26

發送簡訊給我
#12 引用回覆 回覆 發表時間:2002-11-27 00:40:33 IP:61.223.xxx.xxx 未訂閱
引言: 一般放在onexit上, 不過記得加上 if table1.state in [dsedit,dsinsert] then begin end; 否則會造成你的dbedit元件不是在編輯或新增模式一樣會被執行主鍵判斷的作業哦!
有時後在輸入後 游標還在此一欄位 USER滑鼠直接去CLICK另一個按鈕 EX:存檔鍵 這個ONEXIT EVENT就不會去動作 反倒去執行存檔鍵的ONCLICK的動作 不曉得各位如何預防
------
BCDEFHIJKLMNOPQRSTUVWXZ
payne
初階會員


發表:1
回覆:40
積分:38
註冊:2002-04-19

發送簡訊給我
#13 引用回覆 回覆 發表時間:2002-12-05 22:58:58 IP:61.223.xxx.xxx 未訂閱
那就在存檔鍵的ONCLICK寫if去判斷嘛!如果主鍵重複就showmessage並且exit
ccchen
版主


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

發送簡訊給我
#14 引用回覆 回覆 發表時間:2002-12-06 07:57:48 IP:61.219.xxx.xxx 未訂閱
任何其實位置均沒有Field之onValidate好 RunTime Create Table也沒什麼問題, 那就RunTime hook此Event
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#15 引用回覆 回覆 發表時間:2002-12-06 09:52:34 IP:61.220.xxx.xxx 未訂閱
如果不想寫在table 那就寫在存檔鈕去做key值的檢查 如果一次要檢查多筆 就用 迴圈去跑 將key值locate出來 有重複的擋掉 否則就存檔 天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
系統時間:2024-05-19 17:02:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!