首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

更新表后,dbgrid 中数据即时更新有关问题

2012-03-18 
更新表后,dbgrid 中数据即时更新问题一个窗体,其中我建了 adoconnectionadoqueryadotable datasource dbgr

更新表后,dbgrid 中数据即时更新问题
一个窗体,其中我建了 adoconnection adoquery adotable datasource dbgrid dbnavigator 还有一个button
access数据库表中有 单价 数量 金额 等字段 
主要想实现当我向dbgrid 中加入新物品的单价 和数量后金额自动生成,保存进数据库 并且即时显示在dbgrid 中 
button 的代码 adoquery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add('update fy set hjje=sl*dj,zfje=hjje*zfbl');
  adoquery1.ExecSQL;
可是现在我的程序是 点我输入完新的单价和数量后,点一下button,金额不出现,当我把程序关闭一次重新打开后金额就有了。有谁知道是怎么回事吗?最好能告诉我怎么能实现我上面所提到 的功能。 
  俺是菜鸟 ,还请大家多多帮忙。

[解决办法]
用sql更新数据 并不能立刻反应到数据感知控件上,

你需要刷新数据集 或者重新打开数据集
[解决办法]
如果你只是录入一条数据的话,没必要用update,直接用
adoquery.edit;
adoquery.filedbyname('hjje').ascurrency := adoquery.filedbyname('sl').ascurrency*adoquery.filedbyname('dj').ascurrency;
adoquery.Post;
[解决办法]

探讨
引用:
如果你只是录入一条数据的话,没必要用update,直接用
adoquery.edit;
adoquery.filedbyname('hjje').ascurrency := adoquery.filedbyname('sl').ascurrency*adoquery.filedbyname('dj').ascurrency;
adoquery.Post;
……

[解决办法]
报adoquery1: cannot perform this opration on a closed dadaset.

看一下你的AdoConnection 打开了吗?或者adoquery1的connection属性是不是指到了AdoConnection 了。
[解决办法]
也有类似的疑问,帮顶,UP

热点排行