freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

kingbase程序員參考手冊(編輯修改稿)

2024-12-01 11:24 本頁面
 

【文章內(nèi)容簡介】 向它所涉及的數(shù)據(jù)庫傳送 SQL 語句。通過 JDBC 對可被發(fā)送的 SQL 語句類型不加任何限制,它允許使用特定的數(shù)據(jù)庫語句。 Kingbase JDBC Driver 提供了三個類,用于向數(shù)據(jù)庫發(fā)送 SQL 語句, Connection 接口中的三個方法可用于創(chuàng)建這些類的實例。 ( 1) Statement 對象:由方法 createStatement 所創(chuàng)建,用于發(fā)送簡單的 SQL 語句。 ( 2) PreparedStatement 對象:由方法 prepareStatement 所創(chuàng)建,用于發(fā)送帶有一個或多個輸入?yún)?shù)( IN 參數(shù))的 SQL 語句。 ( 3) CallableStatement 對象:由方法 prepareCall 所創(chuàng)建,用于執(zhí)行 SQL 存儲過程。 程序員參考手冊 5 程序員參考手冊 Kingbase ES JDBC 用戶使用手冊 Statement對象 Statement 對象由方法 createStatement 所創(chuàng)建, Statement 對象用于發(fā)送簡單的 SQL 語句,來進行查詢或?qū)?shù)據(jù)庫進行更新。 例如: Statement stmt=()。 (“ update table1 set col1=1” )。 PreparedStatement 對象 數(shù)據(jù)庫服務(wù)器在處理 SQL 語句時都是首先生成該語句的執(zhí)行計劃,然后執(zhí)行。對于有些應(yīng)用需要反復(fù)處理具有相同執(zhí)行計劃的語句,就會浪費處理資源,這時就可以使用 PreparedStatement 對象,這樣,數(shù)據(jù)庫服務(wù)器可以提前取得 SQL 語句,并為它創(chuàng)建查詢計劃,以后該語句就可以多次執(zhí)行。 PreparedStatemen對象由方法 prepareStatement所創(chuàng)建,用于發(fā)送 帶有一個或多個輸入?yún)?shù)( IN參數(shù))的 SQL 語句。 PreparedStatement 對象具有一組 setXXX()方法,用于設(shè)置 IN 參數(shù)的值。執(zhí)行語句時,這些 IN參數(shù)將被送到數(shù)據(jù)庫中。 處理一個帶參數(shù)的 SQL 語句通常包括以下過程: (1) 生成一個 PreparedStatement 對象,對語句進行預(yù)編譯。 (2) 設(shè)置參數(shù)。 (3) 執(zhí)行語句,獲取結(jié)果。 例如 : PreparedStatement pstmt = ( “ UPDATE EMPLOYEES SET SALARY=? WHERE ID=?” )。 int i。 for(i=0。 I。I++) { (1,employee[i].salary)。 (2, employee[i].id)。 Kingbase ES 金 鼎 數(shù) 據(jù) 庫 管 理 系 統(tǒng) 6 ()。 } ? 注意: Kingbase JDBC 目前的版本還不能獲取參數(shù)的元數(shù)據(jù)信息。 CallableStatement 對象 提供了對調(diào)用數(shù)據(jù)庫中存儲過程的支持,用戶可以在高級語言中使用服 務(wù)器端的存儲過程。 CallableStatement 對象由方法 prepareCall 所創(chuàng)建,用于執(zhí)行存儲過程。 CallableStatement 對象從 PreparedStatement 中繼承了用于處理 IN 參數(shù)的方法,而且還增加了用于處理 OUT 參數(shù)和 INOUT 參數(shù)的方法。 CallableStatemen 對象由方法 prepareCall 所創(chuàng)建,用于發(fā)送帶有一個或多個輸入?yún)?shù)( IN 參數(shù))和輸出參數(shù)( OUT 參數(shù))或輸入輸出參數(shù)( INOUT 參數(shù))的 SQL 語句。 CallableStatement 對象繼承了 PreparedStatement 的 setXXX()方法,用于設(shè)置 IN 參數(shù)的值。在執(zhí)行語句前必須用 CallableStatement 的特有方法 registerOutParameter()對 OUT/INOUT 參數(shù)進行注冊 ,語句執(zhí)行之后,可以用 getXXX()方法獲取參數(shù)值。 處理一個存儲過程的 SQL 語句通常包括以下過程: (1) 生成一個 CallableStatement 對象,對語句進行預(yù)編譯。 (2) 提取參數(shù)信息。 (3) 設(shè)置參數(shù)。 (4) 注冊輸出參數(shù)。 (5) 執(zhí)行語句。 (6) 獲取輸出參數(shù)的返回值。 要獲取參數(shù)的元數(shù)據(jù)信息可以直接用從 PreparredStatement 類 的 繼 承 的getParameterMetaData()方法來實現(xiàn) 如: ParameterMetaData pmd=()。 例如 : CallableStatement cstmt = (“ call procName(?,?,?)” )。 //參數(shù) 1為 INOUT 類型,參數(shù) 2為 IN 類型,參數(shù) 3 為 OUT 類型 //注冊輸出參數(shù) (1,)。 程序員參考手冊 7 程序員參考手冊 Kingbase ES JDBC 用戶使用手冊 (3,)。 //獲取參數(shù)信息 ParameterMetaData pmd=()。 //設(shè)置輸出參數(shù) (1,5)。 (2, )。 //執(zhí)行語句 ()。 //獲取輸出參數(shù)值 int I=(1)。 float f=(3)。 查詢結(jié)果集的處理 在建立了到服務(wù)器端的連接之后,我們可以在該連接上執(zhí)行查詢語句,并返回結(jié)果集對象,具體方法如下: ( 1)創(chuàng)建一個語句對象( Statement,PreparedStatement)。 Statement stmt=()。 ( 2)執(zhí)行一條 SQL 查詢語句,并返回結(jié)果集。 ResultSet rs=(“ select * from table1” )。 或者 , (“ select * from table1” )。 ResultSet rs=()。 ? 注意 : 用戶在創(chuàng)建語句的同時還可以指定結(jié)果集的類型、并發(fā)性和 hold 方式。 目前, Kingbase ES 的 JDBC Driver 支 持 的 結(jié) 果 集 類 型 是 : TYPE_FORWARD_ONLY 和TYPE_SCROLL_INSENSITIVE,暫時不支持 TYPE_SCROLLSENSITIVE。 結(jié)果集的并發(fā)性支持: CONCUR_READ_ONLY 和 CONCUR_UPDATABLE。 結(jié)果集的 hold 方式支持 CLOSE_CURSORS_AT_COMMIT,而對 HOLD_CURSORS_OVER_COMMIT 暫時不支持。 在生成結(jié)果集時,用戶還可以獲取結(jié)果集的元數(shù)據(jù)( MetaData),即對結(jié)果集中各列的描述信息。 例: ResultSetMetaData rsmd=()。 Kingbase ES 金 鼎 數(shù) 據(jù) 庫 管 理 系 統(tǒng) 8 結(jié)果集的讀取 在 ResultSet 第一次創(chuàng)建時,指針定位在第一行的前面,通過 ResultSet 中提供的各個定位函數(shù)使 ResultSet 指針指向?qū)嶋H要訪問的數(shù)據(jù)行,然后使用 getXXX 方法讀取結(jié)果集中當(dāng)前行或列的值。 具體來講, ResultSet 中的定位函數(shù)有: next, absolute, afterLast, beforeFirst, first,last, previous, moveToInsertRow, moveToCurrentRow。 對于 TYPE_FORWARD_ONLY 類型的結(jié)果集只能使用 next()方法移動 ResultSet 指針。 例如: Statement stmt=()。 ResultSet rs=(“ select * from table1” )。 while (()) ( (1))。 對結(jié)果集的更新 除了利用更新語句來對數(shù)據(jù)庫進行更新以外,我們還可以通過對結(jié)果集進行更新,來達到更新數(shù)據(jù)庫的目的。但要注意:這種情況下,結(jié)果集的并發(fā)性類型必須為 CONCUR_UPDATABLE。用戶對結(jié)果集的更新同時作用于數(shù)據(jù)源。 例如 : Statement stmt=(TYPE_SCROLL_INSENSITIVE, CONCUR_UPDATABLE)。 ResultSet rs=(“ select * from table1” )。 ()。 (1,21)。//修改當(dāng)前行第一列的值為 21。 ()。//作用于數(shù)據(jù)源 如果不支持可更新的結(jié)果集,我們還可以采用定位更新的方式來對數(shù)據(jù)庫進行更新。該方法通過游標(biāo)名使得多個 Statement 對象作用到同一個結(jié)果集。 ? 注意:要進行定位更新,必須將該連接的提交模式設(shè)置為非自動提交。否則可能會由于第二條語句的執(zhí)行導(dǎo)致第 一條語句提交而出現(xiàn)錯誤。 例如: Statement stmt=()。 程序員參考手冊 9 程序員參考手冊 Kingbase ES JDBC 用戶使用手冊 (“ cursor1” )。 ResultSet rs=(“ select author from table1 for update” )。 ()。 String cursorName =()。 Statement stmt2=()。 Int updateCount=(“ update table1 set author=” Tom” where current of “ + cursorName)。 批處理 Kingbase ES JDBC 支持 SQL 語句的批處理功能。 Statement 和它的子類通過 addBatch()方法支持批處理功能。例如: Statement stmt = ()。 int[] rows。 for(int i=0。 i。i++) { (“ UPDATE EMPLOYEES SET SALARY=” + employees[i].salary + “ WHERE ID=” + employee[I].id)。 } rows = ()。 在批處理中也可以使用 PreparedStatement 對象,例如: PreparedStatement stmt = ( “ UPDATE EMPLOYEES SET SALARY=? WHERE ID= ?” )。 int[] rows。 for(int i=0。 i。i++) { Kingbase ES 金 鼎 數(shù) 據(jù) 庫 管 理 系 統(tǒng) 10 (1,employee[i].salary)。 (2, employee[i].id)。 } rows = ()。 事務(wù)處理 事務(wù)的提交與回滾 應(yīng)用程序創(chuàng)建一個連接時,該連接默認(rèn)事務(wù)自動提交,用戶可以在 Connection 對象中設(shè)置事務(wù)提交模式(分為自動提交和非自動提交兩種),方法如下: (boolean autoCommit)。 當(dāng) autoCommit 為 true 時,表示為自動提交模式,這種情況下,該連接下的所有語句在執(zhí)行完之后都會自動提交。否則為非自動提交模式。 在非自動提交模式下,用戶在一個事務(wù)執(zhí)行完成之后需要顯式調(diào)用 方法來提交事務(wù)。方法如下: ()。 否則,當(dāng)該事務(wù)需要回滾時,則需要顯式調(diào)用 方法。 ()。 事務(wù)的隔離級別 Kingbase 支 持 的 事 務(wù) 隔 離 級 別 有 : TRANSACTION_READ_COMMITTED 和TRANSACTION_SERIALIZABLE,默認(rèn)的事務(wù)隔離級別為 TRANSACTION_READ_COMMITTED。 用 戶 可 以 通 過 來 指 定 事 務(wù) 隔 離 級 別 , 通 過 來讀取當(dāng)前事務(wù)隔離級別。 大對象數(shù)據(jù)的處理 在 Kingbase ES 中 ,大對象 數(shù)據(jù) 用于保存那些無法在通常 SQL 表里面保存的數(shù)據(jù) ,例如聲音、圖象、大文本等。在 Kingbase ES 中提供了用來存儲大對象數(shù)據(jù)的數(shù)據(jù)類型 BLOB,用來存儲大數(shù)據(jù) 程序員參考手冊 11 程序員參考手冊 Kingbase ES JDBC 用戶使用手冊 量的二進制數(shù)據(jù)。 JDBC 中提供了兩個接口用于處理大對象數(shù)據(jù): 和 , Kingbase ES JDBC 實現(xiàn)了這兩個接口。 ? 注意: ,必須使用 setAutoCommit(false) 方法 關(guān)閉自動提交設(shè)置。 ES 目前的版本還沒有實現(xiàn) CLOB 數(shù)據(jù)類型,因此 Kingbase ES JDBC 目前的版本實現(xiàn) CLOB 對象時是借助于 Kingbase ES 的 BLOB 類型數(shù)據(jù)的存儲方式。 大對象數(shù)據(jù)的讀取 同檢索其他數(shù)據(jù)類型一樣,用同樣的方法可以從一個結(jié)果集中檢索 Blob 和 Clob 這兩種數(shù)據(jù)類型的數(shù)據(jù),該獲得方法為: Blob b=()。 Clob c=()。 與其它數(shù)據(jù)類型不同,調(diào)用 getBlo
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1