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获取数据库的统计数据求解答等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)