为了账号安全,请及时绑定邮箱和手机立即绑定

如何解决无效的列索引异常?

如何解决无效的列索引异常?

陪伴而非守候 2021-08-13 16:51:12
我正在尝试从 Table Books 中的 Name 列中获取 String 值。但是每次我在 Oracle 中收到无效的列索引异常。String name111=null;String isbn=issuecall.getText();String s1="Select Name from Books where ISBN='"+isbn+"'";try{    Class.forName("oracle.jdbc.driver.OracleDriver");    con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","nitinrawal11");    st1=con.createStatement();    ResultSet rs=st1.executeQuery(s1);    while(rs.next()){        name111=rs.getString(2);    }}catch(Exception e){    e.printStackTrace();}getname.setText(name111);
查看完整描述

2 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

您已将本机 sql 编写为

String s1="Select Name from Books where ISBN='"+isbn+"'";

它只会返回一列,但是您试图在第二列获取值

name111=rs.getString(2);

您需要使用name111=rs.getString("name"); 或 name111=rs.getString(1);


查看完整回答
反对 回复 2021-08-13
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

您只选择了一个列。阅读文档以更好地理解它

String getString(int columnIndex) throws SQLException;

以 Java 编程语言中的 String 形式检索此 ResultSet 对象的当前行中指定列的值。

@param columnIndex第一列是 1,第二列是 2,...
@return 列值;如果值为 SQL NULL,则返回值为 null。


所以用

rs.getString(1);

要么

rs.getString("Name");


查看完整回答
反对 回复 2021-08-13
  • 2 回答
  • 0 关注
  • 346 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信