程序运行结果为sun.jdbc.odbc.JdbcOdbcResultSet@16bf9ce,该怎样解决,求赐教
这个问题类似之前遇到过的问题。好像见过
@16bf9ce
这说明已经获取到数据了,并不是连接数据库失败,获取数据空指针异常。
应该是获取对象时语句错误,获取的不是数据记录,获取的对象错误
查询结果的处理的语句处你检查一下
Connection con =DriverManager.getConnection("jdbc:odbc:Library","wang","123456");
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery("Select * from Book where name='"+ name+"'");
System.out.print(rs);
while(rs.next()) //while 循环获取所有的结果,避免有多个结果时只获取了一个结果
{
//String sql= "Delete * from Book where name='"+name+"'";
//这一句话没必要,你这个查询结果 rs ,
//的查询条件就是 name = 你那个 (String)name,
//删除语句写在这个查询结果中,就不必再写一遍了,结果都一定是那个name下的
//stmt.executeUpdate(sql);
/**
* rs 已经是你查询语句 "Select * from Book where name='"+ name+"'" 的结果了
*/
String name = rs.getString("name"); //获取数据库中对应字段的数据,比如有name age gender 的话,看你的是什么的.
int age = Integer.parseInt(rs.getString("age"));
String gender = rs.getString("gender");
System.out.print("名字|性别|年龄 :"+name+"|"+gender+"|"+age);
}
你的语句没错误