使用列名从ResultSet中获取小写

使用列名从ResultSet中获取小写

本文介绍了使用列名从ResultSet中获取小写列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Oracle 12cr1数据库.如果列名是小写的,我似乎无法从使用列名的ResultSet中获取值.

I am using Oracle 12cr1 database. Looks like I can not get a value from ResultSet using the column name if the column name is lowercase.

创建表create table "Tab" (col number, "col" varchar2(10)),因此第二列为小写.如果调用getString("col"),我将获得第一列的值.如果我呼叫getString("\"col\""),我会收到无效的列名错误.

Create table create table "Tab" (col number, "col" varchar2(10)), so the second column is lowercase. If I call getString("col") I will get the value of the first column. If I call getString("\"col\"") I will get Invalid column name error.

但是,如果我使用列索引,它就可以正常工作.

However, it works fine if I use column index.

推荐答案

来自 ResultSet (强调我的意思):

From the JDBC API documentation of ResultSet (emphasis mine):

换句话说,对于API列名(或更正确的说,列标签)不区分大小写,因此无法实现所需的内容.您需要通过提供AS列标签来使列标签具有唯一性,或者您应该按索引获取该列.

In other words, for the API column names (or, more correctly, column labels) are case insensitive, so what you want is not possible. You will need to make your column labels unique by providing an AS column label, or you should get the column by index instead.

这篇关于使用列名从ResultSet中获取小写列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 21:34