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

[問題]如何在抓到資料後,使按鈕消失?

尚未結案
b7307024
一般會員


發表:9
回覆:21
積分:6
註冊:2005-07-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-24 16:05:40 IP:192.192.xxx.xxx 未訂閱
各位能人賢士,小弟來也!小弟現在想要做的是,我在資料庫抓到一筆資料,若資料中有某個欄位,等於我要判斷的值,如:status=未歸還,我就把按鈕隱藏起來,那請問各位大大要怎麼做呢?我起初的想法是先下select * form assets where asset_id(資產編號)=edit1.text and status=未歸還,若查詢到資料就 MyQuery1.RecordCount=1 並把按鈕隱藏,但我就是做不出來,請各位先進們幫幫忙吧!謝謝!
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-24 16:13:17 IP:202.62.xxx.xxx 未訂閱
您好﹗    您的思路已經是正确了﹐範例如下﹕
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select * From assets Where ');
  ADOQuery1.SQL.Add('asset_id='''+Edit1.Text+''' and ');
  ADOQuery1.SQL.Add('Status=''未歸還'');
  ADOQuery1.Open;
  if Not (ADOQuery1.IsEmpty) then
    begin
      Button1.Visible := False;
    end;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================ 發表人 - cashxin2002 於 2005/10/24 16:52:24
------
忻晟
b7307024
一般會員


發表:9
回覆:21
積分:6
註冊:2005-07-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-24 18:08:46 IP:220.132.xxx.xxx 未訂閱
謝謝cashxin2002版大的回覆! 那個ADOQuery1.SQL.Add的部分可以寫在一起嗎? 不懂為啥要這樣分開寫耶!? 謝謝!
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-25 08:58:28 IP:202.62.xxx.xxx 未訂閱
您好﹗    當然可以寫在一起﹐分開寫比較容易觀察﹐不然就是長長的一堆嘍﹒另外還有一種寫法就是SQL.Text﹐如下﹕
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Text := 'Select * From assets Where '
    + 'asset_id='''+Edit1.Text+''' and Status=''未歸還''';
  ADOQuery1.Open;
  if Not (ADOQuery1.IsEmpty) then
    begin
      Button1.Visible := False;
    end;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
b7307024
一般會員


發表:9
回覆:21
積分:6
註冊:2005-07-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-10-26 10:00:11 IP:220.132.xxx.xxx 未訂閱
再次謝謝cashxin2002版大的回覆,小弟大致上已經把問題解決了,我現在有個問題,是我要在查詢的按鈕(Button2)做判斷說資產編號輸入是否正確,而我是有做出來可是卻反而使其他原本正常的功能,卻不正常了,以下是我原本可以正常執行,而沒有加入判斷編號是否輸入正確的程式碼: procedure TForm1.Button2Click(Sender: TObject); begin MyQuery1.SQL.Text:='Select * From assets Where asset_id=''' Edit1.Text ''' and status=''未歸還'''; MyQuery1.Execute; If MyQuery1.RecordCount=1 Then begin MyQuery1.Close; Edit1.Clear; Showmessage('該資產已預借或借出,借出失敗'); MyQuery1.SQL.Clear; Edit1.SetFocus; end Else begin MyQuery1.SQL.Text:='Select * From assets Where asset_id=''' Edit1.Text ''''; MyQuery1.Execute; Edit1.Clear; Edit1.SetFocus; end end; procedure TForm1.Button1Click(Sender: TObject); begin MyQuery1.SQL.Text:='Update assets SET status=''未歸還'' WHERE asset_id=''' Edit1.Text ''''; MyQuery1.Execute; If MyQuery1.RowsAffected <> -1 Then begin Edit1.Clear; Showmessage('借出成功'); Edit1.SetFocus; end end; 以下是我想要加入查詢按鈕(Button2)做判斷的程式碼:(註:我是加在第一行) MyQuery1.SQL.Text:='Select * From assets Where asset_id=''' Edit1.Text ''''; MyQuery1.Execute; If MyQuery1.RecordCount=0 Then begin MyQuery1.Close; Showmessage('編號輸入失敗,請重新輸入!'); MyQuery1.SQL.Clear; Edit1.SetFocus; end; 原本執行的還蠻快的,我改成這樣後,卻變的有點慢,且借出的功能卻無法正常使用了,不知為什麼!請cashxin2002版大再幫小第一次忙吧!謝謝!
b7307024
一般會員


發表:9
回覆:21
積分:6
註冊:2005-07-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-10-27 18:11:45 IP:192.192.xxx.xxx 未訂閱
不好意思!小弟找出方法了,謝謝版大的回覆!
系統時間:2024-07-03 23:39:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!