各位高手,在这里有几个问题问问,比较急,希望大家能够助我一臂之力,帮我解开谜团。
我在DELPHI中,使用了BDE和Oracle数据库,同时,设置了一个DATABASE,Table,还有一个Datasource,另外,使用了数据库控制控件DBGrid以及DBNavigator
发现了几个问题,一、在DBGrid之中,如果我增加了一个纪录,那么会很奇怪地发现,以前显示在DBGrid之中的记录都没有了,只剩下新增加的这个记录,还有,Navigator的几个控制键都变灰了,比如没有办法向前向后移动记录,这是为什么?二、在DBGrid中删除一个记录,有时候可以成功,有时候却提示说:Couldn't perform the edit because another user changed the record ,问题是,除了我当前程序之外,再也没有任何的连接到数据库了。为什么会提示这样的错误呢?三、在dbnavigator里面,我使用那个刷新的按钮的时候,提示错误,说:table does not support this operation because it's not unique indexed.难道是要有索引的才能够使用刷新么?很奇怪啊。
请大家助我一臂之力。谢谢。
我在DELPHI中,使用了BDE和Oracle数据库,同时,设置了一个DATABASE,Table,还有一个Datasource,另外,使用了数据库控制控件DBGrid以及DBNavigator
发现了几个问题,一、在DBGrid之中,如果我增加了一个纪录,那么会很奇怪地发现,以前显示在DBGrid之中的记录都没有了,只剩下新增加的这个记录,还有,Navigator的几个控制键都变灰了,比如没有办法向前向后移动记录,这是为什么?二、在DBGrid中删除一个记录,有时候可以成功,有时候却提示说:Couldn't perform the edit because another user changed the record ,问题是,除了我当前程序之外,再也没有任何的连接到数据库了。为什么会提示这样的错误呢?三、在dbnavigator里面,我使用那个刷新的按钮的时候,提示错误,说:table does not support this operation because it's not unique indexed.难道是要有索引的才能够使用刷新么?很奇怪啊。
请大家助我一臂之力。谢谢。
如果dbgrid里面有了三个记录,使用dbnavigator再新增一个,按道理,应该有四个记录才对的,但是结果是dbgrid里面仍然只有三个记录,其中新增的一个存在了,但是以前的一个记录却消失了,好像是被替换掉了一样的。
如果我退出程序,重新登陆,进入页面,那么此时会发现有四条记录!to swei56
你说的第二点,能说得更加明白一些么?
第一个不明白,也耗了不少时间。
每二个可能是你修改了主键,(在保证只有一个用户的情况下)导致TDataProvider自动生成的SQL找不到在数据库中的主键,返回了这条错误.