線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1182
推到 Plurk!
推到 Facebook!

怎样一次过赋值给DBGrid中选定的多笔资料?

尚未結案
xxiaowang
中階會員


發表:51
回覆:75
積分:55
註冊:2005-01-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-02 17:39:33 IP:219.133.xxx.xxx 未訂閱
请教各位前辈, 怎样一次过赋值给DBGrid中选定的多笔资料,例如将DBgrid中选写的资料的“成绩”栏位全部修改为100,代码怎样写? 谢谢!
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-02 18:13:25 IP:61.70.xxx.xxx 未訂閱
您好: 直接改資料庫中的資料就好了. 如update table set a=100 where .... 或者設立迴圈去做修改如: Table.FieldByName(Field).AsInteger:=100;
xxiaowang
中階會員


發表:51
回覆:75
積分:55
註冊:2005-01-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-02 18:41:30 IP:219.133.xxx.xxx 未訂閱
您好: 直接改資料庫中的資料就好了. 如update table set a=100 where .... 或者設立迴圈去做修改如: Table.FieldByName(Field).AsInteger:=100;    ---------------------------------------- 因不知道用户会选择哪些资料,没有规律,所以不能用Update table set a=100...; 如采用循环遍历资料,如何判断某笔资料是否被选定? 谢谢!
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-02 18:59:57 IP:61.31.xxx.xxx 未訂閱
多選的紀錄,可用 SelectedRows。 如:
var
  I :Integer;
begin
  With DBGrid1 do
    if SelectedRows.Count>1 then
      for I:=0 to SelectedRows.Count-1 do
      begin
        DataSource.DataSet.GotoBookmark(Pointer(SelectedRows[I]));
        DataSource.DataSet.Edit;
        DataSource.DataSet.FieldByName(Field).AsInteger:=100;
        DataSource.DataSet.UpdateRecord;
      end;
end;
~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~
系統時間:2024-07-02 0:43:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!