说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Delphi And Oracle

编辑:说三道四文库 发布时间:2018-04-24 02:54
HTML文档下载 WORD文档下载 PDF文档下载
一个很简单的程序无法执行,在设计阶段就出错,窗体的描述如下。以下的所有属性都是在设计阶段通过object inspector设定的。 
一个Tdatabase控件:aliasname='to_ora'(通过bde指向服务器上的oracle数据库,该数据库中有一个表,定义如下:create table mm (a char(1) primary key,b char(5));),connected=false,database='myora',drivername='',exclusive=false,handleshared=true,keepconnection=true,loginprompt=false,name='Database1',params中设定了正确的账号和密码,readonly=false, sessionname=default,translsolation=tireadcommitted 
一个Tquery控件:active=false,autorefresh=false,cacheupdates=false,databasename='myora',datasource='',name='query1',paramcheck=true,requestlive=false,sessionname='',sql='select * from mm',unidirectional=false 
一个datasource控件,dataset='query1',name='datasource1' 
一个tdbgrid控件,datasource='datasource1' 

在object inspector中,将database1.connected设成true,一切正常 
将query1.active设成true,一切正常,dbgrid控件中可以看见mm中的数据 
但是这个数据集是只读的,因为query1.requestlive=false 
于是,我将query1.active设成false,将query1.requestlive设成true,再将query1.active设成true,这时问题出现了:弹出了一个错误消息:“table does not exist.ora-00942:表或视图不存在” 
请问是哪儿出了问题????????????????? 
用TTable的时候有没有这个问题?
我昨晚也碰到了这个问题,后来,我将sql=select * from tablename where...改成了
select * from owername.tablename where ...,并且将owername.tablename都用大写,就可以了。
把表名改成大写
把表名改成大写,把字段名也改成大写。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘