QUERY控件疑问!!!

Tine 2000-02-25 02:24:00
我在用QUERY控件连接数据库后,用DBNAVIGATOR进行插入、修改、删除数据等操作,(数据库是ORACLE 7。X)遇到如下问题:

1、只要一按刷新按钮就提示:'Table does not support this operation because it is not uniquely indexed'错误,是什么原因(操作的表都有主键)?

2、在DBGrid中插入新记录时,一按更新按钮,总会把DBGrid中插入新记录位置处的下一条记录覆盖,(如:DBGRID中原来有5条记录,插入一条新记录后,会覆盖DBGRID中一条记录,在DBGRID中还是显示5条记录,而不是6条)只有从新更新后才能看到全部记录,但有TABLE控件侧没有这个问题,这是什么原因?

请各位高手不吝指教,在下感激不仅!
...全文
177 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
AcherMagic 2000-02-28
  • 打赏
  • 举报
回复
查看BDE的DbiForceRecordReread里面有说明
bpc 2000-02-28
  • 打赏
  • 举报
回复
没有appened!!
GetWay 2000-02-27
  • 打赏
  • 举报
回复
第一个问题我也遇见过,即使是用她自己的例子也会出现刷新错误的情况.但是我使用ADOQUERY和SQL SERVER时可以正常刷新.奇怪!
sess 2000-02-27
  • 打赏
  • 举报
回复
查看数据库权限
sess 2000-02-27
  • 打赏
  • 举报
回复
查看BDE的配置
Tine 2000-02-26
  • 打赏
  • 举报
回复
谢谢各位朋友的帮助。第二个问题我已解决,就是把QUERY控件的CACHEDUPDATE设为TRUE即可。这也是我在本论坛上看到的,但不记得是谁的了,无法给分,在此表示感谢。
第一个问题还是没有解决。我用DELPHIC自带的DBDEMOS库中的表实验没有这个问题。我想是不是我的ORACLE库中的表有问题。希望各位高手能帮帮我。'Table does not support this operation because it is not uniquely indexed'错误是因为后台数据库什么方面的原因引起的
torent 2000-02-25
  • 打赏
  • 举报
回复
1、我也常遇到Query刷新出错的现象,我使用的办法是:
Query.Close;
Query.Open;
若想不改变刷新前的位置,可使用BookMark,如:
SavePlace=Query.GetBookmark;
Query.Close;
Query.Open;
Query.GotoBookmark(SavePlace);
Query.FreeBookmark(SavePlace);
这种方法在SQL SERVER,ACCESS,PORODOX,DBASE等中使用,效果不错。
2、我经常使用DBGrid,但从未遇到过你的那种现象,若可能,请将你的".pas"和".frm"
寄来一看。
EMail: torent@21cn.com
天剑68 2000-02-25
  • 打赏
  • 举报
回复
Query的SQL语句是怎么写的?同时对两个以表操作的Query不能修改.
还有我认为最好的方式是Query控件和UpdateSQL配合起来用.
supershan 2000-02-25
  • 打赏
  • 举报
回复
应不会有这种问题,
1。用SQL explore查看,请将建索近的的SQL贴出来
2。将执行操作的代码贴出来
sadpacific 2000-02-25
  • 打赏
  • 举报
回复
奇怪。

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧