zxh1972,其实所有的方法都不可行!下面我说一下我在这方面的经历:
1、刚开始时采用BCB3.0+Access97,通过ODBC连接数据库,则会出现你说的第一种样子——运行Post函数,在DBGrid中显示记录的小三角立即到第一条记录;
2、后来在DELPHI4.0+Access97,通过ODBC连接数据库下则会出现本讨论区的问题;
3、现在用BCB5.0+Access97,通过ODBC连接数据库,那么以前的问题不会出现,但是出现了更怪的问题:新增一条记录,然后Post,在DBGrid中显示记录的小三角依然在当前记录,所有的一切都没有问题,即使此时删除也没有问题!但是,如果记录中有数值型字段,如果你不输入数据(顺便说一下,不直接输入数据的情况经常出现),那么会出现两条记录,除数值型字段的值不同(一条为空,另一条为0)外,其它是一样的,此时小三角在数值型字段的值为空的那条记录上。如果你此时删除记录,则会出现提示:
Couldn't perform the edit because another user changed the record.
而且你移动记录是没用的,即使用系统默认的移动记录增加的方法也是没用的!但是可以将数值型字段的值为0的那条记录删除,值为空的依然保留只是不能删除,当然移动记录也没用!除非将数据库关闭然后打开(这样是不是很麻烦)!但是,如果将数值型字段的值输入,根本就不会出问题。小三角也不会移动!
4、前一段时间用DELPHI5.0+Access97,通过ODBC连接数据库写了一个旅行社进出管理的小程序,又出现了本讨论区的问题;