Oracle数据库下页面数据不显示的原因是因为:
在MySql下时,sql语句查询出来的数据字段的别名是rptCode和rptName,而通过Oracle查出来的字段名是RPTCODE和RPTNAME。
而html页面获取的方法是:
td1.html(section.rptCode)
td1.html(section.rptName)
在一开始修改Oracle数据库下数据不显示的问题时,方法为在html加一个判断,section.rptCode不为undefined时取section.rptCode的值,若为undefined则取section.RPTCODE的值;section.rptName同理。但后面觉得这样写的话不够灵活,万一有新的字段规范出现又要修改源码。
后来发现:Oracle会在编译的时候自动把sql先转换成大写,再执行,而要保持原本的大小写需要用“”把字段名包含才可以。
所以Oracle只能知道有数据,而不能获取到字段中的数据。
解决方法为将原sql语句中的别名加“”。
原sql语句:
select export_report_code as rptCode,export_report_name as rptName from rpt_batch_export_detail a
修改后的sql语句:
select export_report_code as "rptCode",export_report_name as "rptName" from rpt_batch_export_detail a
这样,在Oracle中查询出的数据别名也不会变为大写的。