我有一个使用SELECT语句耦合到ADOQuery的DBGrid。
我想为所有记录更新一个字段。例如,当我在文本框中输入一些数据时,所有记录的字段“名称”(仅作为示例)将被更改。
答案 0 :(得分:5)
为此,您可以触发查询。
“UPDATE table SET name = textBox.text”; 按照你的语法。只需改变那个没有任何where子句的字段就会改变你的所有企业。
答案 1 :(得分:1)
您可以使用SQL UPDATE语句一次更新所有这些记录。
如果您不希望(或不能)出于任何原因使用SQL UPDATE,并希望使用ADO记录集进行更新,则可以编写如下代码:
var
AField : TField;
begin
Assert(AdoQuery1.Active, 'Dataset is not active!');
try
AdoQuery1.DisableControls;
AField := AdoQuery1.FieldByName('MyFieldName');
AdoQuery1.First;
while not AdoQuery1.Eof do
begin
AdoQuery1.Edit;
AField.Value := Edit1.Text;
AdoQuery1.Post;
AdoQuery1.Next;
end;
finally
AdoQuery1.EnableControls;
end;
end;