用ResultSet获取查询结果,总是缺少第一条记录

用ResultSet获取查询结果,总是缺少第一条记录,第1张

outprintln(rsgetString("title"));

while(rsnext()){

outprintln(rsgetString("title"));

}

获取Statement对象是需要设置

//对数据更新不敏感,光标可滚动

Statement st=concreateStatement(ResultSetTYPE_SCROLL_INSENSITIVE, ResultSetCONCUR_READ_ONLY);

就可以使用ResultSet previous()、next()等方法向前向后移动光标

jsp查询数据库,得到的结果集的索引位置是在表头上的,就是说他没有直接指向表数据的第一行,然后要rsnext()来让结果集的引用指向数据表的第一行,这样就可以查询数据库数据了。

另外,一般的数据库查询基本格式是

while(rsnext())//判断结果集是否查询结束

{

rsgetType("字段名");//取出结果集

}

在Java中,获得ResultSet的总行数的方法有以下几种。

第一种:利用ResultSet的getRow方法来获得ResultSet的总行数

Java代码

Statement stmt = concreateStatement(ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_UPDATABLE);

ResultSet rset = stmtexecuteQuery("select from yourTableName");

rsetlast();

int rowCount = rsetgetRow(); //获得ResultSet的总行数

Statement stmt = concreateStatement(ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_UPDATABLE); ResultSet rset = stmtexecuteQuery("select from yourTableName"); rsetlast(); int rowCount = rsetgetRow(); //获得ResultSet的总行数第二种:利用循环ResultSet的元素来获得ResultSet的总行数

Java代码

ResultSet rset = stmtexecuteQuery("select from yourTableName");

int rowCount = 0;

while(rsetnext()) {

rowCount++;

}

ResultSet rset = stmtexecuteQuery("select from yourTableName"); int rowCount = 0; while(rsetnext()) { rowCount++; }rowCount就是ResultSet的总行数。

第三种:利用sql语句中的count函数获得ResultSet的总行数

Java代码

ResultSet rset = stmtexecuteQuery("select count() totalCount from yourTableName");

int rowCount = 0;

if(rsetnext()) {

rowCount=rset getInt("totalCount ");

}

ResultSet rset = stmtexecuteQuery("select count() totalCount from yourTableName"); int rowCount = 0; if(rsetnext()) { rowCount=rset getInt("totalCount "); }rowCount就是ResultSet的总行数。

• Java中获得ResultSet的总列数是非常简单事情,因为Java中ResultSet提供了ResultSetMetaData工具类,ResultSetMetaData 是ResultSet的元数据的集合说明。

java获得ResultSet总列数的代码如下:

Java代码

Statement stmt = concreateStatement(ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_UPDATABLE);

ResultSet rset = stmtexecuteQuery("select from yourtable");

ResultSetMetaData rsmd = rsetgetMetaData() ;

int columnCount = rsmdgetColumnCount();

Statement stmt = concreateStatement(ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_UPDATABLE); ResultSet rset = stmtexecuteQuery("select from yourtable"); ResultSetMetaData rsmd = rsetgetMetaData() ; int columnCount = rsmdgetColumnCount();columnCount 就是ResultSet的总列数。

用下面的语句就可以了吧

ResultSet resultSet = statementexecuteQuery("select from userinfo;");

while (resultSetnext())

{

String str_1 = resultSetgetString(1);

String str_2 = resultSetgetString(2);

String str_3 = resultSetgetString(3);

}

以上就是关于用ResultSet获取查询结果,总是缺少第一条记录全部的内容,包括:用ResultSet获取查询结果,总是缺少第一条记录、java 数据库 ResultSet(rs) 的循环取出时候 怎么取出前一条记录求大神解答、JSP查询数据库一共有多少条记录,但最后一句报错,还有如何用ResultSet获取数据库的统计数据求解答等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9477167.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存