在Java中,獲得ResultSet的總行數(shù)的方法有以下幾種。
為江口等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及江口網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站制作、成都網(wǎng)站制作、江口網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
第一種:利用ResultSet的getRow方法來獲得ResultSet的總行數(shù)
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery("select * from yourTableName");
rset.last();
int rowCount = rset.getRow(); //獲得ResultSet的總行數(shù)
第二種:利用循環(huán)ResultSet的元素來獲得ResultSet的總行數(shù)
ResultSet rset = stmt.executeQuery("select * from yourTableName");
int rowCount = 0;
while(rset.next()) {
rowCount++;}rowCount就是ResultSet的總行數(shù)。
第三種:利用sql語句中的count函數(shù)獲得ResultSet的總行數(shù)
ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName");
int rowCount = 0;
if(rset.next()) {
rowCount=rset .getInt("totalCount ");}rowCount就是ResultSet的總行數(shù)。
·*****************************************************************************************************************
·Java中獲得ResultSet的總列數(shù)是非常簡單事情,因為Java中ResultSet提供了ResultSetMetaData工具類,ResultSetMetaData是ResultSet的元數(shù)據(jù)的集合說明。
java獲得ResultSet總列數(shù)的代碼如下:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery("select * from yourtable");
ResultSetMetaData rsmd = rset.getMetaData() ;
columnCount就是ResultSet的總列數(shù)。
step1:構(gòu)造連接
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db","root","123");
step2:構(gòu)造語句
String sql = "select username,password from t_user where username=?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, "zhangshan"); //給SQL的"?"(問號)傳值。
step3:執(zhí)行查詢
ResultSet rs = stmt.executeQuery(); //rs就是SQL查詢語句返回的結(jié)果集
step4:處理結(jié)果(java 獲取SQL查詢語句返回的結(jié)果)
List list = new ArrayList();
//遍歷結(jié)果集,這樣寫就可以了,就是一個循環(huán),有多少條記錄,這里就會循環(huán)多少次,
//一次就是一條記錄,想像一下就像一個表的一條記錄
//在這里可以做查詢出來的數(shù)據(jù)處理,可以封裝成對象之類的(就是把值給它)
if(rs.next()) { //遍歷結(jié)果集,這樣寫就可以了
User u = new User();
String username = rs.getString("username");
String address = rs.getString("password ");
u.setUsername(username);
u.setAddress(address);
list.add(u);
}
//上面這個例子意思是,把每一條記錄封裝成了一個User對象,然后這些User對象都放存入到了一個list
step4:關閉連接等
import java.io.*;public class Check {
public static void main (String[] args) throws IOException{
check("D:/MyEclipse/java/src/my/Check.java");//這里的字符串是你要統(tǒng)計的文件的路徑,你自己填寫
} public static void check (String s) throws IOException{
int all = 0, empty = 0, describe = -1, i = 0;
String str = null;
File f = new File(s);
BufferedReader br = new BufferedReader (new FileReader(f));
str = br.readLine();
while(str != null){
all++;
if(str.trim().equals("")) empty++;
if(str.contains("http://")) describe++;
if(str.contains("/*")){
while(!str.contains("*/")){
i++;
all++;
describe++;
str = br.readLine();
}
}
str = br.readLine();
}
System.out.println("文件物理總行數(shù)為:" + all);//;;klj
System.out.println("文件中空行數(shù)為:" + empty);//hkk
System.out.println("文件注釋行數(shù)為:" + describe);
System.out.println("文件非注釋行數(shù)為:" + (all - i));
/*asdfdsff
* sdasadfsf//fg
* asdfsdf//dsfg
* asdf
*/
}
}以上是代碼,我在我的機子上實現(xiàn)了,希望能幫到你!我也是JAVA菜鳥,希望有高手能更好地解答