【发布时间】:2016-03-30 20:25:26
【问题描述】:
我使用 JDBC 从 sqlite 数据库中获取数据。在数据库中,我有 3 列 - 登录名、密码和角色。我尝试通过登录查找行,但它不起作用,当我尝试getString("password") 或"role" 时出现异常,错误在哪里?谢谢
resSet = statmt.executeQuery("SELECT * FROM users WHERE login='"+login+"';");
if( hasUser( login)){
System.out.println("User finded:");
while(resSet.next()) {
System.out.println("login = " + resSet.getString("login"));
// !exeption
System.out.println("password = " + resSet.getString("password"));
// !exeption
System.out.println("role = " + resSet.getString("role"));
System.out.println();
}
}else{
System.out.println( "User not found");
}
【问题讨论】:
-
用你的问题打印异常日志
-
java.sql.SQLException:没有这样的列:org.sqlite.jdbc3.JDBC3ResultSet.findColumn(JDBC3ResultSet.java:48) 的 org.sqlite.jdbc3.JDBC3ResultSet.getString(JDBC3ResultSet) 的“密码” .java:437) 在 SE_10_JDBC.task1.DataBaseHandler.readUserFromDB(DataBaseHandler.java:56) 在 SE_10_JDBC.task1.MainTask1.main(MainTask1.java:15) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-
users 表应该有密码列,异常很清楚地回答了你的问题
-
但列密码和角色存在
-
并且该代码可以正常工作:
标签: java