兩個關聯TABLE錯誤訊息KEY VIOLATION該如何中文化? |
答題得分者是:channel
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好! 您可以在這兩個關聯Table之外, 另加一個Table, 對應關鍵欄位, 專門來負責查詢的工作, 在關聯Table進行新增或編輯后, 于Before Post事件中, 利用Locate對負責查詢工作的Table進行查詢, 若有查詢到相同的欄位值, 即說明相同的關鍵欄位已經存在, 即時ShowMessage('已有相同鍵值'), 并將此資料Cancel.
Locate方法如下:
begin if Table2.Locate('IDNo', Edit1.Text, [loCaseInsensitive,loPartialKey]); //IDNo為假設的查詢的鍵值欄位名, loCaseInsensitive參數代表查詢時不 //分大小寫, loPartialKey參數代表只要部分資料符合, 此資料就算符合. then begin ShowMessage('已有相同鍵值'); Table1.Cancel; end else begin Table1.Post; end; end;參考看看! ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟 |
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
|
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言:使用BDE請參考這篇文章:http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26413 使用ADO請參考這篇文章:http://delphi.ktop.com.tw/topic.php?TOPIC_ID=28106引言: 感謝提供的方法; 但小弟想說系統已能自已判斷是什麼錯誤時,發出英文訊息, 錯誤訊息已明確指出了,想把這英文錯誤訊息截取後以中文取代, 只要找出發出訊息的地方,判定錯誤碼後,以中文取代, 不知要如何作?「堅持」從洗馬桶做起 Aric 發表人 - huangeider 於 2003/08/28 22:03:04
------
~小弟淺見,參考看看~ |
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
引言: 使用BDE請參考這篇文章:http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26413 使用ADO請參考這篇文章:http://delphi.ktop.com.tw/topic.php?TOPIC_ID=28106 引言: 感謝各位 cnannel兄的方法應用的範圍太小了得指定錯誤的資料集元件程序才能使用 但我測試的結果是有很多如在資料post前發生錯誤時 ,這個方法是不會被 執行到的, 就算已指定了onposterror這個程序也不會執行到 ,所以覺得應用上如能在錯誤發生後, 若能執行到預設的錯誤function那就很實用,非常感謝兩位的意見「堅持」從洗馬桶做起 Aric 發表人 - huangeider 於 2003/08/31 08:44:07 |
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |