delphi adoquery修改指定的数据元解决方法

delphi adoquery修改指定的数据元
比如有十条记录想修改第一条记录中的最后一个数据(第一行的最后一空)

------解决方案--------------------
Delphi(Pascal) code
adoquery.first;
adoquery.edit;
adoquery.fieldbyname('xxx').asstring:='xxx';
adoquery.post;

------解决方案--------------------
用locate定位可以修改你想修改的行,定位列就用fieldbyname('')来看看哪个是最后的列了.
------解决方案--------------------

其次在修改字段值之前,先用local定位记录。

大致代码如下:
ADOQuery_out.Edit;
ADOQuery_out.local('主键名称',主键值);//定位到要修改的记录。一般用主键来检索。
ADOQuery_out.FieldByName('lastfield').Value:=edit7.Text;//修改最后一列的值。字段名称假设为lastfield。
ADOQuery_out.post;
------解决方案--------------------
{比如有十条记录想修改第一条记录中的最后一个数据(第一行的最后一空)
引用
# guanking
# (guanking)
#
# 等 级:
}
ADOQuery_out.Edit;
ADOQuery_out.local('主键名称',主键值);//定位到要修改的记录。一般用主键来检索。
ADOQuery_out.FieldByName('lastfield').Value:=edit7.Text;//修改最后一列的值。字段名称假设为lastfield。
ADOQuery_out.post;





{
(1) 动态定位数据行//=============================================================== //过程名: DyDbgDataLine// haitian//日期: 2003-02-22//功能: 根据用户指定的条件自动移动到DBGrid控件中符合此条件的某行数据上//输入参数: // sValue:当前需要移动到的行的值;// tab:当前DBGrid中对应的表的数据;// dsr:当前需要操作的数据源;//返回值: 无//修改记录: //================================================================
}
{
Procedure DyDbgDataLine(sValue:string;tab:Ttable;dsr:TDatasource)var bookmark:TBookMark;
begin //记录当前标记的行; 
bookmark:=self.tab.GetBookmark; 
self.tab.first; 
while not self.tab.Eof do 
begin 
if self.tab.FieldByName(‘cpbh‘).AsString= sValue then 
begin 
bookmark:=self.tab.GetBookmark; 
break; 
end; 
self.tab.Next; 
end; 
self.dsr.DataSet.GotoBookmark(pointer(bookmark));
End;
//说明:使用的表已经和当前显示界面上的DBGrid 绑定;
}