我有一DBGrid,和一个Button1
如何更改DbGrid中某一列的所有值,并且更新??
就是当我Buttol1Click的时候把DBGrid1的第5列值全部写改为0,并且存入数据库中,然后更新DBGrid
该如何操作,是否需要用到循环???????????
如何更改DbGrid中某一列的所有值,并且更新??
就是当我Buttol1Click的时候把DBGrid1的第5列值全部写改为0,并且存入数据库中,然后更新DBGrid
该如何操作,是否需要用到循环???????????
调试欢乐多
update yourtable set col5th=0
/*******
处理
update yourtable set col5th=0
/****
DBGrid1.DataSource.DataSet:=adoquery1;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i := 0 to ADODataSet1.RecordCount - 1 do
begin
AdoDataSet1.First;
AdoDataSet1.Fields[4].AsInteger := 0;
AdoDataSet1.Next;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
adoquery1.sql.text:='update 表 set 字段=0 ';
adoquery1.execsql;
adodataset.refresh;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
with ADODataSet1 do
begin
First;
while (not isEmpty) and (not Eof) do
begin
Fields[4].AsInteger := 0;
Next;
end;
end;
end;
为啥用循环?
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i := 0 to adotable1.RecordCount - 1 do
begin
With adotable1 do
begin
First;
Edit;
FieldByName(FieldName).Value := 0;
Post;
Next;
end;
end;
end;
2:如果DBGrid1.DataSource.Dataset对应的是adoquery1
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
With adoquery1 do
begin
close;
sql.clear;
sql.add('Update tableName Set fieldName=:FieldValue where.....'); ////更改数据
parameters.parabyname('FieldValue').value := 你要赋的数据;
execsql;
sql.clear;
sql.add('Select * from tablename where'); ////重新打开数据
Open;
end;
end;