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

我正在尝试从 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);


陪伴而非守候
浏览 347回答 2
2回答

UYOU

您已将本机 sql 编写为String s1="Select Name from Books where ISBN='"+isbn+"'";它只会返回一列,但是您试图在第二列获取值name111=rs.getString(2);您需要使用name111=rs.getString("name"); 或 name111=rs.getString(1);

翻过高山走不出你

您只选择了一个列。阅读文档以更好地理解它String getString(int columnIndex) throws SQLException;以 Java 编程语言中的 String 形式检索此 ResultSet 对象的当前行中指定列的值。@param columnIndex第一列是 1,第二列是 2,...@return 列值;如果值为 SQL NULL,则返回值为 null。所以用rs.getString(1);要么rs.getString("Name");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java