画面の更新をしたいのですが?(DBGrid)

解決


久美  2003-09-08 23:41:45  No: 4712

お世話になっております。
{DBGridでひとつのレコードを削除した後に
 DBGridの画面を更新したい(最新の情報に変更したい)
 のですがやり方がわかりません。
 以下は自分で考えたコードですがうまくいきません。
 どなたか、アドバイスをお願いします。}
procedure TForm1.Button1Click(Sender: TObject);
begin
 query2.SQL.Clear;
 query2.sql.Add('DELETE FROM TEST  WHERE(EmpNo='+trim(edit1.Text)+')');                                        
 query2.ExecSQL;
 form1.Refresh;
 DBgrid1.Refresh;
end;


通りすがり  2003-09-09 01:49:59  No: 4713

以前「DBGridが空になってしまいます??」で
にしのさんがレスした方法ではダメだったのでしょうか。

もしかして DBGrid1 に接続している DataSet は query2 なのでしょうか?
そうならば、
ExecSQL 後 query2 に SELECT 文を記述し Open しなければならないのでは...

勘違いでしたら、ごめんなさい.


masayan  2003-09-09 02:48:30  No: 4714

TQueryの内容をDBGridで表示している場合、TQueryをCloseしてOpenしなおさないと表示は更新されないと思います。

ただし、更新した後にDBGridのカーソルが先頭行になってしまうので、TQueryをCloseする前にレコード位置(主キーの値を記録するなど)を確認してOpen後にTQueryのカレントレコードを移動する必要があると思います。


久美  2003-09-09 03:17:19  No: 4715

皆様ありがとうございました。
解決することができました。
まだ初心者で、TQueryをCloseしてOpenをうまく
プログラムに組めていなかったようです。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加