无法分析出字段名 程序和数据库通信时,无法分析出select* from 查询结果的各个列

CavanWang 2009-05-26 07:40:20
我在用jsp和delphi时都遇到了这个问题,当我通过select * from 得到的查询结果,却无法分析出列名,即便是单一的select * from 实际的表的名字 也是不行,所以我怀疑数据库执行select * from 和 select f1,f1,...直到全列出 from 表 是不一样的,中间不知有什么区别导致了程序无法分析列名,尽管在数据库中执行查询操作都正常,这也打破了我之前的认为:数据库中执行的查询和程序中执行的查询是一样的
...全文
93 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
CavanWang 2009-05-29
  • 打赏
  • 举报
回复
我觉得不是这样啊,我们公司基本上都用的varchar2,应该是字符串类型,而且只是对于这种非列出具体表名的查询才无法解析列名,甚至导致出错(比如wtc标签 的 <wtc:pubselect> 就解析不出列个数(当查询没有明确列名,比如sql可能是在数据库存好的,动态的)),不过你说的通过系统表分析,我觉得到可以试试,谢谢!
databank 2009-05-27
  • 打赏
  • 举报
回复
首先说明一下,数据库中执行的查询和程序中执行的查询是一样的,都是通过OCI之类的接口或JDBC接口把命令发给数据库,之所以出现不能解析列名的情况我也遇到过。原因是:
  数据库中的一些数据类型在开发语言中不支持。比如,ORACLE的复合数据类型和自定义数据类型。这时就需要耐心一点一点地通过系统表来分析了,把分析出来的结果再发到数据库端就可以返回正确的结果。

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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