这是尝试从表中获取密码的 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”是这样的——
- (uname,nvarchar(50)
- (密码,nvarchar(20))
因此,正如问题标题中所述,我收到错误--java.sql.SQLException:[Microsoft][ODBC SQL Server 驱动程序]描述符索引无效
NOTE:我已经知道我的结果集代码有问题,但我无法弄清楚。
有人可以指导我吗???
谢谢。
您的 SQL 正在选择一个字段:
String query="select pwd from img_pwd where uname='"+U+"'";
但是这一行正在寻找字段#2(并且您只选择一个)。
pas=r.getString(2);
将其更改为:
pas=r.getString(1);
作为参考,这里是Javadoc 关于 ResultSet 接口 getString 方法.
以 Java 编程语言中的 String 形式检索此 ResultSet 对象当前行中指定列的值。
参数:
columnIndex - 第一列是 1,第二列是 2,...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)