線上訂房服務-台灣趴趴狗聯合訂房中心
上鎖的討論區 上鎖的討論區 瀏覽次數:1038
推到 Plurk!
推到 Facebook!

判斷DBGrid內的值

尚未結案
may
一般會員


發表:32
回覆:26
積分:11
註冊:2003-02-11

發送簡訊給我
#1 發表時間:2003-05-06 16:43:23 IP:210.202.xxx.xxx 未訂閱
請問如何判斷出DBGrid內某欄位的值為空白時則不可新增或修改。 我是搭配DBNavigator來做資料的新增及刪除動作的。 謝謝
delphiwww
資深會員


發表:145
回覆:363
積分:368
註冊:2002-03-13

發送簡訊給我
#2 發表時間:2003-05-06 22:42:48 IP:219.68.xxx.xxx 未訂閱
某個欄位的資料,應該是在dataset(query or table)元件上用fieldbyname判斷 就可以了,或者直接用TField元件判斷也可以 例如 if query1.fieldbyname('order_no').asstring='' then begin    end; 不可不可新增或修改可以寫在dataset元件的onbeforeedit or onbeforeinsert判斷 if dataset.fieldbyname('order_no').asstring='' then begin    dataset.cancel;    abort; end;     
引言: 請問如何判斷出DBGrid內某欄位的值為空白時則不可新增或修改。 我是搭配DBNavigator來做資料的新增及刪除動作的。 謝謝
may
一般會員


發表:32
回覆:26
積分:11
註冊:2003-02-11

發送簡訊給我
#3 發表時間:2003-05-07 09:39:18 IP:210.202.xxx.xxx 未訂閱
1.下列程式碼在 ADOQuery1 的 AfterPost事件中 2.如果身分證字號為空白則不可新增或修改 3.如不是空白就可新增或修改 問題就在於為何程式執行到Abort這行後就跳到ADOQuery1.Post這行呢? 是否我的語法或是位置有誤呢? 謝謝!! if (DBGrid1.DataSource.DataSet.FieldByName('id_no').AsString='') then BEGIN Showmessage('身分證不可空白'); DBGrid1.DataSource.DataSet.FieldByName('id_no').FocusControl; DBGrid1.SelectedIndex := 1; DBGrid1.SetFocus; ADOQuery1.Cancel; Abort; End Else begin ADOQuery1.Edit; ADOQuery1.FieldByName('type_code').Value :='P'; ADOQuery1.Post; end; end;
may
一般會員


發表:32
回覆:26
積分:11
註冊:2003-02-11

發送簡訊給我
#4 發表時間:2003-05-07 10:34:47 IP:203.160.xxx.xxx 未訂閱
我已從討論區中找到方法了,謝謝大家的幫忙。 procedure TForm3.ADOQuery1id_noValidate(Sender: TField); begin if (DBGrid1.DataSource.DataSet.FieldByName('id_no').AsString='') then BEGIN Showmessage('身分證字號不可為空白'); Abort; End; end;
系統時間:2024-05-05 4:34:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!