这是尝试从表中获取密码的jsp代码
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con=DriverManager.getConnection("jdbc:odbc:dsn2"); String U=(String)session.getAttribute("uname"); String query="select pwd from img_pwd where uname='"+U+"'"; Statement s=con.createStatement(); ResultSet r= s.executeQuery(query); String pas=""; if(r.next()) { pas=r.getString(2); } con.close();
数据库中的表“ img_pwd”是这样的-
因此,如问题标题所述,我得到了错误-java.sql.SQLException :[Microsoft] [ODBC SQL Server驱动程序]无效的描述符索引
注意: 我已经知道我的结果集代码有问题,但是我无法弄清楚。
谁能指导我???谢谢。
您的SQL选择一个字段:
String query="select pwd from img_pwd where uname='"+U+"'";
但是这一行正在寻找字段2(而您只选择一个)。
pas=r.getString(2);
将其更改为此:
pas=r.getString(1);
作为参考,这是ResultSet接口的getString方法上的Java文档。
以Java编程语言中String的形式检索此ResultSet对象的当前行中指定列的值。参数:columnIndex-第一列为1,第二列为2,…