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

檢查與訊息

尚未結案
nick899
一般會員


發表:16
回覆:22
積分:12
註冊:2002-12-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-14 10:02:03 IP:61.228.xxx.xxx 未訂閱
大家好 使用paradox Field(Type,No...) Index Key值(Type No) 1.使用DBedit時如何在新增資料時當keyin 至No 可以去檢查type no DBedit1 DBedi2)是否重覆? 如資料重覆移動指標後後出現Message :key violation 可修改自給message Thank
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-14 10:21:08 IP:211.74.xxx.xxx 未訂閱
1.在DBEdit1.exit and DBEdit2.exit的事件做檢查 if Query.stat=dsInsert then begin if (DBEdit1.Text<>'') and (DBEdit2.Text<>'') then begin CHKSQL.Close;//這裡你要用另外一個Query來做 CHKSQL.SQL.Clear; CHKSQL.SQL.ADD(' SELECT COUNT(*) as count FROM XXX WHERE TYPE=' #39 DBEdit1.Text #39 ' AND No=' #39 DBEdit2.Text #39); CHKSQL.Open; if CHKSQL.FieldByNmae('count').Value>1 then begin SHOWMESSAGE('資料重覆!!!');//Message在這裡你可以自己改成你要的.. DBEdit1.setfocus; CHKSQL.Close; exit; end else CHKSQL.Close; end; end; PS:另外給你一點建議..像Type,No,Name這些文字在其他資料庫都是保留字(MSSQL.ORACLE)..盡量不要用..以免更換資料庫時程式就全部都要改了... TRY TRY SEE..
引言: 大家好 使用paradox Field(Type,No...) Index Key值(Type No) 1.使用DBedit時如何在新增資料時當keyin 至No 可以去檢查type no DBedit1 DBedi2)是否重覆? 如資料重覆移動指標後後出現Message :key violation 可修改自給message Thank
發表人 - chih 於 2003/02/14 10:22:06 發表人 - chih 於 2003/02/14 10:28:10
nick899
一般會員


發表:16
回覆:22
積分:12
註冊:2002-12-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-14 11:41:52 IP:61.228.xxx.xxx 未訂閱
引言: 1.在DBEdit1.exit and DBEdit2.exit的事件做檢查 if Query.stat=dsInsert then **[Error]:Undeclared identifier: 'stat' begin if (DBEdit1.Text<>'') and (DBEdit2.Text<>'') then begin CHKSQL.Close;//這裡你要用另外一個Query來做 **[Error] Undeclared identifier: 'CHKSQL' CHKSQL.SQL.Clear; **[Error] Missing operator or semicolon CHKSQL.SQL.ADD(' SELECT COUNT(*) as count FROM XXX WHERE TYPE=' #39 DBEdit1.Text #39 ' AND No=' #39 DBEdit2.Text #39); CHKSQL.Open; if CHKSQL.FieldByNmae('count').Value>1 then ** [Error]'THEN' expected but identifier 'FieldByNmae' found begin SHOWMESSAGE('資料重覆!!!');//Message在這裡你可以自己改成你要的.. DBEdit1.setfocus; CHKSQL.Close; exit; end else CHKSQL.Close; end; end; PS:另外給你一點建議..像Type,No,Name這些文字在其他資料庫都是保留字(MSSQL.ORACLE)..盡量不要用..以免更換資料庫時程式就全部都要改了... 謝謝 TRY TRY SEE..
引言:
出現上述錯誤謝謝
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-02-14 12:03:16 IP:211.74.xxx.xxx 未訂閱
你要另外放一個Query改名叫CHKSQL.
懷舊的人
高階會員


發表:28
回覆:152
積分:141
註冊:2003-01-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-02-14 12:27:42 IP:152.104.xxx.xxx 未訂閱
1. 既然你選用 Paradox 2. 你可用 if TTable.FindKey([DBEdit1.Text,DBEdit2.Text]) then '已存在' else .... 3. 你可用 if TTable.Locate('TYPE;NO',VarArrayOf([DBEdit1.Text,DBEdit2.Text],[]) then '已存在' else .... 4. ....
nick899
一般會員


發表:16
回覆:22
積分:12
註冊:2002-12-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-02-14 15:05:09 IP:61.228.xxx.xxx 未訂閱
引言: 1. 既然你選用 Paradox 2. 你可用 if TTable.FindKey([DBEdit1.Text,DBEdit2.Text]) then showmessage('已存在') else .... 顯示內定 Message:key violation 無法顯示自定Message (/Thank/) 3. 你可用 if TTable.Locate('TYPE;NO',VarArrayOf([DBEdit1.Text,DBEdit2.Text],[]) then '已存在' else .... []請問理面放入? [Error] Too many actual parameters (/Thank/) 4. ....
懷舊的人
高階會員


發表:28
回覆:152
積分:141
註冊:2003-01-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-02-14 16:03:24 IP:61.219.xxx.xxx 未訂閱
檢查如下 1. 檢查你 TABLE 是否有 Build Index 2. 檢查你 TABLE 的 IndexFieldNames 是否有指定 3. 有的話 使用 TTable.FindKey 對不起太久沒用忘了正確用法 4. 有或無 使用 TTable.Locate 請查 help 謝謝
懷舊的人
高階會員


發表:28
回覆:152
積分:141
註冊:2003-01-08

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-02-14 16:03:55 IP:61.219.xxx.xxx 未訂閱
檢查如下 1. 檢查你 TABLE 是否有 Build Index 2. 檢查你 TABLE 的 IndexFieldNames 是否有指定 3. 有的話 使用 TTable.FindKey 對不起太久沒用忘了正確用法 4. 有或無 使用 TTable.Locate 請查 help 謝謝
nick899
一般會員


發表:16
回覆:22
積分:12
註冊:2002-12-09

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-02-14 16:49:29 IP:61.228.xxx.xxx 未訂閱
引言: 當no type有重覆時內定程式警告 key violation 可有方法去修改程式內定訊息 key violation (/Thank/)
懷舊的人
高階會員


發表:28
回覆:152
積分:141
註冊:2003-01-08

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-02-15 01:01:25 IP:218.187.xxx.xxx 未訂閱
按照執行的先後應該 Onchange 會先才對,當你使用 FindKey 時如果重複就不能再作存檔的動作,檢查你FindKey 之後作了什麼事。 不然你把 FindKey 的動作放在 Table 的 BeforePost 事件中檢查 if FindKey then begin ShowMessage('重複'); Abort; end else ..... 再有錯誤 請上傳檔案到求助區 請其他高手幫忙
nick899
一般會員


發表:16
回覆:22
積分:12
註冊:2002-12-09

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-02-16 13:01:00 IP:61.228.xxx.xxx 未訂閱
引言: 再有錯誤 請上傳檔案到求助區 請其他高手幫忙 還是有問題將上傳請高手幫忙
nick899
一般會員


發表:16
回覆:22
積分:12
註冊:2002-12-09

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-02-16 13:01:30 IP:61.228.xxx.xxx 未訂閱
引言: 再有錯誤 請上傳檔案到求助區 請其他高手幫忙 還是有問題將上傳請高手幫忙 謝謝您
longsanglin
初階會員


發表:10
回覆:57
積分:43
註冊:2002-04-23

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-02-18 13:34:11 IP:211.22.xxx.xxx 未訂閱
引言: 大家好 使用paradox Field(Type,No...) Index Key值(Type No) 1.使用DBedit時如何在新增資料時當keyin 至No 可以去檢查type no DBedit1 DBedi2)是否重覆? 如資料重覆移動指標後後出現Message :key violation 可修改自給message Thank
在OnPostError事件中寫看看!
系統時間:2024-11-23 5:48:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!