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

DBGrid在新增資料後,無法馬上顯示?

尚未結案
b7307024
一般會員


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-14 08:58:29 IP:220.132.xxx.xxx 未訂閱
各位大大好!小弟來麻煩各位了!我寫了個程式,內容是做東西被借出的動作! 在我依財產編號搜尋到資料後,按借出的按鈕,結果DBGrid理所查詢到的資料就不見了 而我再重開啟程式執行查詢剛剛借出的資料,在欄位裡是有顯示"借出中",可是我是希望 可以變成我按借出按鈕後,即可在DBGrid裡看到該筆資料顯示"借出中",請各位先進教導 謝謝!下列是寫在該按鈕的程式碼: procedure TForm1.Button1Click(Sender: TObject); begin If ComboBox1.Text='財產編號' Then begin MyQuery1.SQL.Text:='Update assets SET status=''借出中'' WHERE asset_id=''' Edit1.Text ''''; Edit2.Text:=MyQuery1.SQL.Text; MyQuery1.Execute; end Else If ComboBox1.Text='財產名稱' Then begin MyQuery1.SQL.Text:='Update assets SET status=''借出中'' WHERE asset_name=''' Edit1.Text ''''; Edit2.Text:=MyQuery1.SQL.Text; MyQuery1.Execute; end end;
cashxin2002
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-14 09:38:23 IP:202.62.xxx.xxx 未訂閱
您好﹗    如果DBGrid是連接到MyQuery1的話﹐請改成如下試試﹕
procedure TForm1.Button1Click(Sender: TObject);
begin
  If ComboBox1.Text='財產編號' Then
    MyQuery1.SQL.Text:='Update assets SET status=''借出中'' WHERE asset_id='''+Edit1.Text+''''
  Else If ComboBox1.Text='財產名稱' Then
    MyQuery1.SQL.Text:='Update assets SET status=''借出中'' WHERE asset_name='''+Edit1.Text+'''';
  Edit2.Text:=MyQuery1.SQL.Text;
  MyQuery1.Execute;
  MyQuery1.Close;
  MyQuery1.SQL.Clear;
  MyQuery1.SQL.Add('Select * From assets');
  MyQuery1.Open;
  MyQuery1.Locate(ComboBox1.Text, Edit1.Text, [loCaseInsensitive]); 
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-16 11:55:46 IP:61.71.xxx.xxx 未訂閱
引言: 各位大大好!小弟來麻煩各位了!我寫了個程式,內容是做東西被借出的動作! 在我依財產編號搜尋到資料後,按借出的按鈕,結果DBGrid理所查詢到的資料就不見了 而我再重開啟程式執行查詢剛剛借出的資料,在欄位裡是有顯示"借出中",可是我是希望 可以變成我按借出按鈕後,即可在DBGrid裡看到該筆資料顯示"借出中",請各位先進教導 謝謝!下列是寫在該按鈕的程式碼: procedure TForm1.Button1Click(Sender: TObject); begin If ComboBox1.Text='財產編號' Then begin MyQuery1.SQL.Text:='Update assets SET status=''借出中'' WHERE asset_id=''' Edit1.Text ''''; Edit2.Text:=MyQuery1.SQL.Text; MyQuery1.Execute; end Else If ComboBox1.Text='財產名稱' Then begin MyQuery1.SQL.Text:='Update assets SET status=''借出中'' WHERE asset_name=''' Edit1.Text ''''; Edit2.Text:=MyQuery1.SQL.Text; MyQuery1.Execute; end end;
不知道你在"財產編號搜尋"是如何下SQL的?是否與update共用同一個query, 還是查詢是一組query, 更新是一組query 你試著在借出後下 DBGRID1.ReFresh更新即可!
b7307024
一般會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-17 23:52:04 IP:220.132.xxx.xxx 未訂閱
P.D.大大您好!我是查詢一個SQL,借出一個SQL,使用的是同一個DBGrid。而我照大大說的,加了DBGRID1.ReFresh,我改的方法如下: procedure TForm1.Button1Click(Sender: TObject); begin If ComboBox1.Text='財產編號' Then begin MyQuery1.SQL.Text:='Update assets SET status=''借出中'' WHERE asset_id=''' Edit1.Text ''''; Edit2.Text:=MyQuery1.SQL.Text; MyQuery1.Execute; DBGrid1.Refresh; end Else If ComboBox1.Text='財產名稱' Then begin MyQuery1.SQL.Text:='Update assets SET status=''借出中'' WHERE asset_name=''' Edit1.Text ''''; Edit2.Text:=MyQuery1.SQL.Text; MyQuery1.Execute; DBGrid1.Refresh; end end; 不知道對不對,而我有想要加在end;的上面,可是不能執行,請大大教導!
b7307024
一般會員


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

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