如何在DBGrid Delphi 7中创建添加每一行的按钮

时间:2016-03-03 18:23:47

标签: delphi delphi-7

如何在delphi 7上创建按钮以在dbgrid delphi中执行所有数据的添加。 例如 我有数据库表,在dbgrid中显示3个coloumns,

[CODE_NUMBER][ITEMS NAME][STOCK][NEW_STOCK]
 001          Rackets       1         5
 002          Sports Shoes  2         5
 003          Golf Hat      3         5 
 ... etc

单击它时如何创建按钮,然后dbgrid启动添加

[STOCK] = [STOCK]+[NEW_STOCK]

在第一行计数后,移到第二行做同样的添加 依此类推,直到dbgrid中的记录结束并删除[NEW_STOCK] coloumn中的数据。 我试过

if dbgrid1.fieldbyname('Code').value <> 0 then
begin
dbgrid1.fieldbyname('Stock').value := dbgrid1.fieldbyname('Stock').value + dbgrid1.fieldbyname('NEW_STOCK').value;
dbgrid1.next;

但只影响第一行,dbgrid

中的下一行没有任何影响

2 个答案:

答案 0 :(得分:0)

要更改dbgrid中的数据,您应该使用它的相应数据集,即:

with dbgrid1.DataSource.DataSet do begin
  Edit;
  Fields.fieldbyname('Stock').value := Fields.fieldbyname('Stock').value + Fields.fieldbyname('NEW_STOCK').value;
  Post;
  Next;
end;

答案 1 :(得分:0)

更高效的是在数据库中执行此操作

要发送到数据库的更新语句非常简单:

update yourtable set Stock = Stock + newStockValue where Code <> 0

然后只刷新您的查询或表组件。