就是在DBGrid中填充完毕一行时,按键下就会出现一个新的空行
那么这时候我应该把刚才填充的那一行提交到数据库中,
这部分代码在哪个事件中?怎么写?这么说吧 ,我只要求输入前六个字段,最后一个余额字段是计算出来的。
怎么判断当前按了"下"键,或者在某行做了修改??图形请看这里 http://jinesc.6600.org/bbs/disp.asp?idd=30980&room=101
那么这时候我应该把刚才填充的那一行提交到数据库中,
这部分代码在哪个事件中?怎么写?这么说吧 ,我只要求输入前六个字段,最后一个余额字段是计算出来的。
怎么判断当前按了"下"键,或者在某行做了修改??图形请看这里 http://jinesc.6600.org/bbs/disp.asp?idd=30980&room=101
那么这时候我应该把刚才填充的那一行提交到数据库中,
这部分代码在哪个事件中?怎么写?这么说吧 ,我只要求输入前六个字段,最后一个余额字段是计算出来的。
怎么判断当前按了"下"键,或者在某行做了修改??图形请看这里 http://jinesc.6600.org/bbs/disp.asp?idd=30980&room=101
请问如何取得DBGrid的第r行第c列的那个单元格的值呢?
dbgrid1.DataSource.DataSet.Fields[c - 1].value//返回的为c列的值
DBGrid1.Columns[i].Field.Value;
但是要取得DBGrid多少行就不容易了,DBGrid屏蔽了这个属性,使用dbgrid1.DataSource.DataSet.RecNo 也是不准确的,本地数据表可以,对Database就难说了,要看特定的Database是否提供当前记录的序号。不过,提交当前数据记录可不考虑这个问题。
有人说,DBGrid换行时自动提交,是不完全正确的,对本地表和简单的数据库程序可以,复杂远程数据库必须进行事务提交,对Midas程序更是如此。
照你的意思说,dbgrid在复杂数据库时也是默认为换行提交的,只是数据库太复杂,数据库性能本来就不好,这时会在乎频繁提交所影响的数据库性能
复杂的数据库程序往往同时涉及到若干个数据表的更新,有些数据表不是通过TDBGrid编辑的,但和TDBGrid关联的表有约束关系,所以DataSet只能Post到数据库缓冲区,然后将所有需要更新的表一次性更新(提交)到数据库。