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

正文內(nèi)容

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

2024-12-01 11:24 本頁(yè)面
 

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