1. 程式人生 > >關於java中返回ResultSet結果集行數

關於java中返回ResultSet結果集行數

1. 如何獲取返回ResultSet結果集的行數:

(1).括號內部沒有引數,則可以用以下方法

st=conn.createStatement();   
int  rowcount = 0;
ResultSet resultSet = st.executeQuery(sql);
while(resultSet.next()){
        rowcount++;
}

此時返回的rowcount就是對應的結果集的總的行數。但是此時的resultSet.next()已經執行到最後一行,無法滾動執行。

(2).在括號內部新增引數

st=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);  

注:第一個引數:

  ResultSet.TYPE_FORWARD_ONLY:不滾動結果集;

  ResultSet.TYPE_SCROLL_INSENSITIVE:滾動結果集,但結果集資料不會再跟隨資料庫而變化;

第二個引數:

CONCUR_READ_ONLY:結果集是隻讀的,不能通過修改結果集而反向影響資料庫;

  CONCUR_UPDATABLE:結果集是可更新的,對結果集的更新可以反向影響資料庫。

則可以繼續執行:

int rowcount =0;

ResultSet resultSet = st.executeQuery(sql);
resultSet.last();      //直接執行跳到結果集的最後一行

rowcount = resultSet.getRow();   //這一句就能得到結果集的行數
resultSet.beforeFirst();   //重新執行到第一行的前一行,以便查詢結果集的集體內容

相關推薦

關於java返回ResultSet結果

1. 如何獲取返回ResultSet結果集的行數: (1).括號內部沒有引數,則可以用以下方法 st=conn.createStatement();    int  rowcount = 0; R

Java之判斷ResultSet結果是否為空

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

限制結果

在實現分頁檢索、排行榜等功能的時候,需要限制檢索的結果集行數,不同的資料庫系統對此的支援是不同的。 MYSQL中提供了LIMIT關鍵字用來限制返回的結果集,比如: SELECT * FROM T_Employee ORDER BY FSalary DESC LIMIT 2,5 MSSQLServe

mysql jdbc的ResultSet結果字型別的null取出後為0

工作上用ResultSet時碰到的, 資料庫裡面的int,decimal等型別的欄位值為null, 通過jdbc的ResultSet的getInt("x")或者getDouble("x")取出來之後是null嗎,並不是,之前並沒有太在意,一直以為取出來應該是null,後來偶然發現居然不是null

Java將JDBC ResultSet結果轉換成Map

public Map<String,List<String>> handle(ResultSet set) throws SQLException { Map<String,List<String>> map =

java sql查詢結果轉換成javabean

1. public List<Map> findBySql(String sql,Class cls) {if (logger.isDebugEnabled()) {logger.debug("findBySql(String, Class) - start")

Java之判斷ResultSet結果是否為空!...

ResultSet表示select語句的查詢結果集。ResultSet物件具有指向其當前資料行的指標, 最初,指標被置於第一行記錄之前,通過next()方法可以將指標移動到下一行記錄。 next()方法在ResultSet物件沒有一行記錄時返回false,因此可以在whil

IReport | Jasperreport 無資料或查詢結果為0 依然展現報表

IReport | Jasperreport 預設時候,如果通過結果集查詢出來 無資料或查詢結果集行數為0,就會不顯示報表,比如在ireport中預覽就會提示。 這樣我們不好除錯,而且在web頁面中,會顯示一個空白頁,使用者還以為報錯了呢。 怎麼才能做到,無資料時顯示標題

Java如何獲取ResultSet結果的每一列的據類型

pre har ble mes 代碼片段 result real float pri 示例代碼片段: ResultSet resultSet = statement.executeQuery(sql); ResultSetMe

JAVA反射實現JdbcTemplate查詢方法 返回結果自動封裝成對應的JAVABean對象

block ada declare object execute pla conn list() 語句 將JdbcTemplate中查詢方法返回的結果集自動封裝成對應的JAVABean對象 只能查詢單張表的數據 封裝到對應的JAVABean對象中 查詢的列數隨意 可以不

[SQL]sql server如何直接查詢存儲過程EXEC返回結果

arc div lec rom 結果 In varchar SQ type Declare @T Table (iDay VARCHAR(4),iNum DECIMAL(18,2),yuxiang DECIMAL(18,9))

ResultSet結果返回給一個數組

【方法2】藉助ResultSetMetaData 和Map private static List convertList(ResultSet rs) throws SQLException {         List list = new ArrayList();         ResultSetM

關於在Sqlite3如何判斷資料表返回結果是否為空的問題解決

1。如果查詢語句中只有聚合函式,例如max,min,avg等。“select max(id) from tablename",在使用sqlite3_get_table呼叫成功後,返回的columnum和rownum都為1,即使結果集裡無記錄也是如此,我們在sqlite3 s

Struts2動態的指定返回結果

1.在Struts2中,可以在struts.xml配置檔案中動態的指定返回的結果集。用${屬性名}的方式取得Action類中的屬性,在服務端判斷好相應的跳轉路徑,然後存到變數裡,然後再在struts.xml配置檔案中用ognl表示式 ${屬性名} 這種方式取出來,可以極大的

在SQL直接使用儲存過程查詢返回結果

在實際使用儲存過程是,有時我們希望先判斷儲存過程的返回結果集是否有記錄,然後走不同的業務邏輯,這是就需要在SQL語句中直接讀取到儲存過程的返回結果集,方式如下: 先按照儲存過程結果集定義一個變數 declare @tbl table(門診號 varchar(20), 住院號

java獲取儲存過程返回結果(多個結果)

在.net中,DataSet可以自動接收多個結果集,形成DataTable陣列。 使用JAVA時,也想要實現這個效果,百度一頓查詢,終於找到解決的辦法。 核心方法:CallableStatement     ResultSet 具體實現程式碼: import java.s

在vs2010顯示代碼的

-s src alt color ron gb2312 com size png 1、打開VS2010,然後“工具” → “選項” 2、在選項頁面,點擊“文本編輯器”→“所有語言”,在顯示裏將【行號】選中,然後確定就OK。 2、這樣子就出現行號了。 在vs2010中

使用多結果讀取據減少服務器往返,提高性能

ive resultset multipl his sets 只讀 ade grid 填充 先來談一下什麽是多結果集?以及為什麽需要它? 假設我們的一個窗體上有多個控件,需要綁定多個數據源。那麽傳統情況下,我們可以用不同的命令去讀取不同的數據,然後分別綁定。這樣做本來無可厚

Java如何將字符串組轉換成字符串

bst sub 字符串 ++ 循環 數組 tostring ringbuf 轉換 如果將“字符串數組”轉換成“字符串”,只能通過循環,沒有其他方法: public static String getExecSqlString(String str){   StringBuf

java重載變長參方法

變參 style eth tor 多個 col 變長參數 形參 out 一、測試代碼 package com.demo; public class Interview { public static void test(int i){ System