java中如何获取ResultSet rs结果集中的条数

java中如何获取ResultSet rs结果集中的条数,第1张

方法一:利用循环ResultSet的元素来获得ResultSet的总行数

示例代码如下:

ResultSet rs;

int rowCount = 0;

while(rsetnext()){

rowCount++;

}

方法二:利用sql语句中的count函数获得ResultSet的总行数

示例代码如下:

String sql = "select count() record_ from ( select from yourtable t where tcolumn_ = 'value_' )";

ResultSet rs = psexecuteQuery(sql);

int rowCount = 0;

if(rsnext()){

rowCount=rsgetInt("record_");

}

不用执行select count(),直接用下边的方法,执行你的查询sql。然后通过指针来获取总记录数。

PreparedStatement

stmt = conprepareStatement

(sql,ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_READ_ONLY);//

一定要有ResultSetTYPE_SCROLL_INSENSITIVE这个参数,不然指针不能滚动,下边的afterLast就不能用。

ResultSet rs = stmtexecute();

rsafterLast();//指针指向最后一条记录。

int num = rsgetRow();//获取总记录数。

rsbeforeFirst();//指针重新指向第一条记录。

//下边你可以循环取出你要的记录了。

另外建议多看下api,很多人都是PreparedStatement

stmt = conprepareStatement(sql)写的,其实通过增加ResultSetTYPE_SCROLL_INSENSITIVE参数就可以 通过滚动指针来获取记录数,并且可以直接遍历查询的结果。

话不多说先上代码

Scanner sc = new Scanner(f);

int i = 0, j=0, k=0;

while(schasNext()) {

scnext();

i++;

}

sc = new Scanner(f);

while(schasNextLine()) {

scnextLine();

j++;

}

sc = new Scanner(f);

while(schasNextByte()) {

scnextByte();

k++;

}

Systemoutprintln(i+" "+j+" "+k);

然后区分一下字节和字符的概念,一个字节是一个8位的2进制数,一个字符是'a'、'1'这种

楼主是不是说的统计字符呢

scanner类中并没有统计字符的方法 用filereader貌似方便一点

这是只是提供一个思路,多查api文档,多用google,这类问题都不叫问题。

搜到这段代码后,我表示很惭愧

public class Test {

public static void main(String[] args) throws Exception{

Scanner input=new Scanner(Systemin);

Systemoutprintln("请输入路径");

String path=inputnext();

int charNum= 0 ;

int wordsNum= 0;

int lineNum = 0;

InputStreamReader isr = new InputStreamReader(new FileInputStream(path));

BufferedReader br = new BufferedReader(isr);

while( brread()!= -1){

String s = brreadLine();

charNum+=slength();

wordsNum +=ssplit(" ")length;

lineNum ++;

}

isrclose();//关闭

Systemoutprintln("字符数:"+charNum+"\t单词数:"+wordsNum+"行 数:"+lineNum);

}

}

java读取txt文件内容,可以作如下理解:

1、首先获得一个文件句柄。File file = new File(); file即为文件句柄。两人之间连通电话网络了,接下来可以开始打电话了;

2、通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西;

3、既然使用了FileInputStream()。那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据;

4、解读完成后就要输出,那么要转换成IO可以识别的数据。那就需要调用字节码读取的方法BufferedReader(),同时使用BufferedReader()的readline()方法读取txt文件中的每一行数据。

参考代码如下:

package comcampu;

import javaioBufferedInputStream;

import javaioBufferedReader;

import javaioFile;

import javaioFileInputStream;

import javaioInputStreamReader;

import javaioReader;

/

@author 码农小江

H20121012java

2012-10-12下午11:40:21

/

public class H20121012 {

/

@param filePath

/

public static void readTxtFile(String filePath){

try {

String encoding="GBK";

File file=new File(filePath);

if(fileisFile() && fileexists()){ //判断文件是否存在

InputStreamReader read = new InputStreamReader(

new FileInputStream(file),encoding);//考虑到编码格式

BufferedReader bufferedReader = new BufferedReader(read);

String lineTxt = null;

while((lineTxt = bufferedReaderreadLine()) != null){

Systemoutprintln(lineTxt);

}

readclose();

}else{

Systemoutprintln("找不到指定的文件");

}

} catch (Exception e) {

Systemoutprintln("读取文件内容出错");

eprintStackTrace();

}

}

public static void main(String argv[]){

String filePath = "L:\\Apache\\htdocs\\res\\20121012txt";

// "res/";

readTxtFile(filePath);

}

}

以上就是关于java中如何获取ResultSet rs结果集中的条数全部的内容,包括:java中如何获取ResultSet rs结果集中的条数、java web项目,怎么获得数据库的返回条数、java 读取文件 并计算文件的字节数,单词数和行数 求高人指点,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存