DBgrid元件「修改及新增模式」時,如何判斷都有輸入資料才能跳開 |
答題得分者是:channel
|
esp_pzj
初階會員 發表:32 回覆:70 積分:40 註冊:2007-02-09 發送簡訊給我 |
問題是這樣:
我用dbgrid元件新增或修改資料時,要先判斷是否都輸入資料才能post進資料庫。 不過當我正在「新增或修改資料時」,直接點選別列的資料,就會post進資料庫, 然後跳到該例, 如何在「新增或修改資料時」,點選別列資料,必需先判斷是否都有輸入資料,post進資料庫,才可以跳到該例, 如果還沒完成輸入資料, 不可跳到該例,繼續修改或新增資料。 或者在「新增或修改資料時」,不要讓使用者跳到別列,等確定或取消修改新增後才能跳到別例 謝謝 各位前輩
------
學藝不精 謝多多指教 |
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
在連結dbgrid的DataSet中的BeforePost Event判斷那些欄位該輸入
procedure TForm1.Query1BeforePost(DataSet: TDataSet); begin if DataSet.FieldByName('FieldA').AsString = '' then raise Exception.Create('請輸入FieldA'); end; ===================引 用 esp_pzj 文 章=================== 問題是這樣: ?? 我用dbgrid元件新增或修改資料時,要先判斷是否都輸入資料才能post進資料庫。 ?? 不過當我正在「新增或修改資料時」,直接點選別列的資料,就會post進資料庫, ?? 然後跳到該例,?如何在「新增或修改資料時」,點選別列資料,必需先判斷是否都有輸入資料,post進資料庫,才可以跳到該例, 如果還沒完成輸入資料, 不可跳到該例,繼續修改或新增資料。 ?? 或者在「新增或修改資料時」,不要讓使用者跳到別列,等確定或取消修改新增後才能跳到別例 ????????????????????????????????? 謝謝? 各位前輩
------
~小弟淺見,參考看看~ |
esp_pzj
初階會員 發表:32 回覆:70 積分:40 註冊:2007-02-09 發送簡訊給我 |
謝謝前輩:這個方法可以達到我想要的功能,
我有放在BeforePost Event內 ,不過會出現debugger, project xxxx.exe raised exception class Exception with message '''請輸入FieldA' . Process stopped. Use Step or Run to continue. 可以讓它不要出現debugger嗎? 還是我使用上有錯誤? 再請問一下 raiseException.Create及是什麼意思丫,我以幫我解釋一下嗎? raise Exception.Create('請輸入FieldA'); ===================引 用 channel 文 章=================== 在連結dbgrid的DataSet中的BeforePost Event判斷那些欄位該輸入 procedure TForm1.Query1BeforePost(DataSet: TDataSet); begin ? if DataSet.FieldByName('FieldA').AsString = '' then ??? raise Exception.Create('請輸入FieldA'); end;
------
學藝不精 謝多多指教 |
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
raise Exception.Create('請輸入FieldA');
其實就是等於以下這兩行 MessageDlg('請輸入FieldA', mtError, [mbOk], 0); abort; 會出現debugger,是因為您還開啟delphi Run您的Project 如果您直接執行您的exe檔(因為user是執行您的exe檔),就不會有這種情況了 ===================引 用 esp_pzj 文 章=================== 謝謝前輩:這個方法可以達到我想要的功能, 我有放在BeforePost Event內 ,不過會出現debugger, project xxxx.exe raised exception class Exception? with message '''請輸入FieldA' . Process stopped.? Use Step or Run to continue. 可以讓它不要出現debugger嗎? 還是我使用上有錯誤? 再請問一下??raiseException.Create及是什麼意思丫,我以幫我解釋一下嗎? ?raise Exception.Create('請輸入FieldA'); ===================引 用 channel 文 章=================== 在連結dbgrid的DataSet中的BeforePost Event判斷那些欄位該輸入 procedure TForm1.Query1BeforePost(DataSet: TDataSet); begin ? if DataSet.FieldByName('FieldA').AsString = '' then ??? raise Exception.Create('請輸入FieldA'); end; ?
------
~小弟淺見,參考看看~ |
esp_pzj
初階會員 發表:32 回覆:70 積分:40 註冊:2007-02-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |