今天很奇怪的问题发生在我的程序里,我的程序里有几处都需要jdbc来对数据表的互交,从程序启动时就需要从数据表里取数据进行验证,这里已经成功了。当有一个地方也要请求数据,这是在一个A类里,我就把全局的Statement的实例传入A类里sm变量,可是当我调用以下代码时,惊呀地发现resultSet实例变量返回记录数为0,我不知道这是为何?
if (ls_sql != null) {
rs = sm.executeQuery(ls_sql);
System.out.println(rs.getRow()); //打印值“0”
System.out.println(ls_sql);//正常的SQL语句
}else
{
System.out.println("SQL is null");
}
后来我把URL,driver,user,password作为参数传入到A类,再建立Connection,Statement,resultSet来读取数据表,结果还是一样的,打印值还是0。传入的SQL是绝对是有效的,我已经打印出来在分析器执行过了,而rs = sm.executeQuery(ls_sql)并没有异常,我想这绝对是一个BUG,不知道各位有没有类似的经验。
if (ls_sql != null) {
rs = sm.executeQuery(ls_sql);
System.out.println(rs.getRow()); //打印值“0”
System.out.println(ls_sql);//正常的SQL语句
}else
{
System.out.println("SQL is null");
}
后来我把URL,driver,user,password作为参数传入到A类,再建立Connection,Statement,resultSet来读取数据表,结果还是一样的,打印值还是0。传入的SQL是绝对是有效的,我已经打印出来在分析器执行过了,而rs = sm.executeQuery(ls_sql)并没有异常,我想这绝对是一个BUG,不知道各位有没有类似的经验。
Retrieves the current row number.
api上说返回的是current row number.当然是0