通過 JDBC 驅動程式 使用多個結果集

2021-08-29 17:13:11 字數 1386 閱讀 6538

使用返回多個結果集的內聯 sql 或 sql server 儲存過程時,microsoft sql server 2005 jdbc driver 提供 sqlserverstatement

類的 getresultset

方法,以檢索返回的每個資料集。此外,當執行返回多個結果集的語句時,可以使用sqlserverstatement類的 execute

方法,因為它將返回乙個boolean值,該值指示返回的值是結果集還是更新計數。

如果execute方法返回true,則執行的語句已返回了乙個或多個結果集。通過呼叫getresultset方法可以訪問第乙個結果集。若要確定是否提供了多個結果集,可以呼叫 getmoreresults

方法,如果提供了多個結果集,則該方法返回booleantrue。如果有多個結果集可用,則可以再次呼叫getresultset方法進行訪問,繼續使用這個過程直到所有的結果集都得到處理。如果getmoreresults方法返回false,則沒有多個結果集要處理。

如果execute方法返回false,則所執行的語句返回了更新計數值,可以通過呼叫 getupdatecount

方法檢索此值。

有關更新計數的詳細資訊,請參閱使用帶有更新計數的儲存過程

。 在下面的例項中,將向此函式傳遞 sql server adventureworks 示例資料庫的開啟連線,並構造一條 sql 語句,該語句在執行後將返回兩個結果集:

檢視複製到剪下板列印

public static void executestatement(connection con) 

rs.close();

}system.out.println();

results = stmt.getmoreresults();

} while(results);

stmt.close();

}catch (exception e)

}

在這種情況下,返回的結果集的數目為 2。但是,如此編寫**是為了在返回了未知數目的結果集時,例如在呼叫儲存過程時,這些結果集也會全部得到處理。若要檢視呼叫返回多個結果集和更新計數的儲存過程的例項,請參閱處理複雜語句

。呼叫sqlserverstatement類的getmoreresults方法時,會隱式關閉以前返回的結果集。

JDBC驅動程式型別

jdbc驅動程式在jdbc api中實現定義的介面,用於與資料庫伺服器進行互動。例如,使用jdbc驅動程式,可以通過傳送sql或資料庫命令,然後使用j a接收結果來開啟資料庫連線並與資料庫進行互動。jdk附帶的j a.sql包包含各種類,其類的行為被定義,實現在第三方驅動程式中完成。第三方 商在其資...

使用JDBC驅動程式處理元資料

元資料 databasemetadata類 geturl 代表資料庫的url,返回乙個string類物件 getusername 返回使用者名稱 isreadonly 返回乙個布林值,是否只許讀操作 getdatabaseproductname 產品名稱 getdatabaseproductvers...

JDBC註冊驅動程式三種方式

第一種方式 class.forname com.mysql.jdbc.driver 載入資料庫驅動 try rs.close stmt.close conn.close catch classnotfoundexception e catch sqlexception e 第二種方式 通過系統的屬性...