oracle 8i(100分)

  • 主题发起人 主题发起人 jqw
  • 开始时间 开始时间
J

jqw

Unregistered / Unconfirmed
GUEST, unregistred user!

我用的D4来开发的Oracle8i的应用程序,对一个简单的Table
进行修改、删除操作时会出现RowId is wrong or need an
unique index(当有重复记录时),请各位大虾来帮助解决!
Thanks!
 
1、 用QUERY
2、把BDE中ORACLE使用的SQLORA32.DLL换成SQLORA8.DLL;(记不清了,可能是反了)


建议用第种方法
 
老兄,此法不行呀.
请各位专家想想招.
 
升级BDE试试。
 
I have updated BDE to Version 5.1.1,but I still have this Problem.
 
各位兄弟快帮我呀!
 
你区www.inprise.com的技术支持部分看看吧。
 
老兄,不可能吧!
3,建立KEY.

 
建议,建立主键约束。防止插入ID冲突
 
你是否用的是oracle7.3的客户端,如果是用8的就没事了.
或者
Table1.Refresh;
Table1.Edit;
 
如果Table未建索引,Delphi 的TTable是不支持Refresh的;
建议将你的表加上 UNIQUE INDEX 或 PARAM KEY,既可以防止
重复记录出现,以上问题也不会出现!
 
谢谢各位兄弟,我将问题再阐述一下:
用oracle 7.3.4或8i的客户端,服务器是8i,如果按
OopsWare兄那样建立primary key or unqiue key,问题
当然能解决,关键是实际应用中表的记录未必唯一,而且,我
在oracle 7.3.4(或以下版本)中就不曾遇到这个问题.
各位兄弟帮忙解决,我将追加50分!
 
用query加, 或者将RowID的改为可以为NULL.

不过用table的话, 可能还是会有些小问题的. BDE中table控件对Oracle 8的支持
好象不是很好.
 
各位兄弟,请拔刀相助!
 
各位兄弟,请拔刀相助!
 
将原有的索引删除以后再重建。
 
在oracle中,我并没有物理地创建索引(因为好像没有必要).
 
各位兄弟,请拔刀相助!
 
用query吧,
select tbl.*,tbl.ROWID from tbl
就可以了 tbl.ROWID 就是独一无二的
 
1、进入BDE设置,(不是SQL Explore)。
2、切换Databases=>Configuration
3、进下级Drivers->Native->ORACLE
4、改dll32为sqlora8.dll
5、改Vendor init为oci.dll
6、重新启动机器
7、OK
 
后退
顶部