
在Java中,获得ResultSet的总行数的方法有以下几种。
第一种:利用ResultSet的getRow方法来获得ResultSet的总行数
Statement stmt = concreateStatement(ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_UPDATABLE);
ResultSet rset = stmtexecuteQuery("select from yourTableName");
rsetlast();
int rowCount = rsetgetRow(); //获得ResultSet的总行数
第二种:利用循环ResultSet的元素来获得ResultSet的总行数
ResultSet rset = stmtexecuteQuery("select from yourTableName");
int rowCount = 0;
while(rsetnext()) {
rowCount++;}rowCount就是ResultSet的总行数。
(1)首先使用last()方法,将数据库游标定位到记录集的最后一行。
(2)使用getRow()方法,返回记录集最后一行的行索引。该索引就等于记录集所包含记录的个数,也就是记录集的行数。getRow()方法是在JDBC API 20中才定义的,在JDBC API 10中没有这个方法。
fos = new FileOutputStream(new File(dir, entrygetKey()+"txt"), true);
把FileOutputStream的第二个参数设置为true,就表示追加内容
先看数据库表, 我里面有46条记录,其中有三条重复,我就拿其中一条emp_id 为"
DWR65030M" 做例子
java代码如下:
import javaioFile;import javaioFileNotFoundException;
import javaioFileWriter;
import javaioIOException;
import javaioPrintWriter;
import javasqlConnection;
import javasqlDriverManager;
import javasqlPreparedStatement;
import javasqlResultSet;
import javasqlSQLException;
/
java读取数据库内容并存放到文件中
@author young
/
public class JavaToSQLTest {
public static void main(String[] args) throws FileNotFoundException {
// // 关联文件
// File file = new File("F:\\workspace\\one\\testtxt");
// // java IO流和文件关联
// PrintWriter pw = new PrintWriter(file);
PrintWriter pw = null;
FileWriter fw = null;
// 定义数据库驱动
String driver = "commicrosoftsqlserverjdbcSQLServerDriver";
// 数据库连接URL
String url = "jdbc:sqlserver://localhost:1433;DatabaseName = soft";
Connection conn = null;
String id;
String fname, lname;
try {
// pwprintln("emp_id\t\tfname\t\tlname");
// pwprintln("------\t\t------\t\t------");
// 加载数据库驱动
ClassforName(driver);
// 创建数据库连接
conn = DriverManagergetConnection(url, "sa", "1234");
// 创建预编译SQL对象
PreparedStatement ps = conn
prepareStatement("select emp_id, fname, lname from emps");
// 执行SQL,获取结果集rs
ResultSet rs = psexecuteQuery();
// 处理结果集
while (rsnext()) {
id = rsgetString("emp_id");
fname = rsgetString("fname");
lname = rsgetString("lname");
String filename = id + "txt";
// 关联文件
File file = new File(filename);
if(!fileexists()){
// 判断文件不存在就new新文件,写数据
try {
filecreateNewFile();
// java IO流和文件关联
pw = new PrintWriter(file);
pwprint(id + "\t");
pwprint(fname + "\t\t");
pwprint(lname);
pwprintln();
pwflush();
} catch (IOException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}else{
// 判断文件存在,就以FileWriter文件追加的方式写文件
try {
fw = new FileWriter(filename,true);
fwwrite(id + "\t");
fwwrite(fname + "\t\t");
fwwrite(lname);
fwflush();
} catch (IOException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
eprintStackTrace();
Systemoutprintln("加载数据库失败");
Systemexit(1);
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
Systemoutprintln("数据库连接错误");
Systemexit(1);
} finally {
if (conn != null) {
try {
// 关闭数据库连接
connclose();
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
if (pw != null) {
// 关闭IO流
pwclose();
}
if(fw != null){
try {
fwclose();
} catch (IOException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
}
}
}
结果生成了43个txt文件 ,看
DWR65030Mtxt文件的内容如下:
里面有两条记录 ,实现了
java类
public ArrayList selectall(ActiveForm af){
ArrayList list = new ArrayList();
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
con = DBConnectiongetcon();
String selectsql = "";
if(afgetAttitle()equals("所有活动")){
selectsql = "select ,zongshu=(select count(abiaoti) from active) from active,atitle where activeatid=atitleatid";
}else{
selectsql = "select ,zongshu=(select count(abiaoti) from active) from active,atitle where activeatid=atitleatid and atitleattitle='"+afgetAttitle()+"'";
}
ps = conprepareStatement(selectsql);
rs = psexecuteQuery();
while(rsnext()){
ActiveForm af2 = new ActiveForm();
af2setAid(rsgetInt("aid"));
af2setAbiaoti(rsgetString("abiaoti"));
af2setAtext(rsgetString("atext"));
af2setAtid(rsgetInt("atid"));
af2setAcost(rsgetInt("acost"));
af2setAcity(rsgetString("acity"));
af2setAcount(rsgetInt("acount"));
af2setAdate(rsgetString("adate"));
af2setAlevel(rsgetInt("alevel"));
af2setAstate(rsgetInt("astate"));
af2setAttitle(rsgetString("attitle"));
af2setZongshu(rsgetString("zongshu"));
listadd(af2);
}
} catch (Exception e) {
eprintStackTrace();
}finally{
DBConnectionclose(con, ps, rs);
}
return list;
}
action内容
public ActionForward activefind(ActionMapping mapping, ActionForm form,
>
以上就是关于在Java中,如何通过在数据库得到的结果集得到表的列数和行数全部的内容,包括:在Java中,如何通过在数据库得到的结果集得到表的列数和行数、java 从数据库取数据并存入本地文本中、java 从数据库取出数据并保存到本地文本中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)