oracle數(shù)據(jù)庫Long類型的存取.doc_第1頁
oracle數(shù)據(jù)庫Long類型的存取.doc_第2頁
oracle數(shù)據(jù)庫Long類型的存取.doc_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

在ORACLE中可以使用LONG類型保存大文本,但是操作LONG類型的數(shù)據(jù)和一般的數(shù)據(jù)類型不同,下面就舉例說明如何將數(shù)據(jù)保存到LONG類型的字段中.保存數(shù)據(jù)到LONG類型的字段中,下面將使用一個表進行測試,該表的創(chuàng)建語句如下:CREATE TABLE T_LONGTEST( ID INTEGER NOT NULL, FILENAME VARCHAR2(100 BYTE), CONTENT LONG)LOGGING NOCACHENOPARALLEL;CREATE UNIQUE INDEX PK_T_LONGTEST ON T_LONGTEST(ID)LOGGINGNOPARALLEL;ALTER TABLE T_LONGTEST ADD ( CONSTRAINT PK_T_LONGTEST PRIMARY KEY (ID);插入LONG類型的數(shù)據(jù) String fileName = file.getAbsolutePath(); long length; if (!file.exists() logger.error(The file is not exists); return; length = file.length(); BufferedReader bufReader = new BufferedReader(new FileReader(file); Integer id = Integer.valueOf(PubFun1.CreateMaxNo(TEST_LONG_ID, 1); PreparedStatement pstmt = con.prepareStatement(INSERT_LONG_SQL); pstmt.setObject(1, id); pstmt.setObject(2, fileName); pstmt.setCharacterStream(3, bufReader, (int) length); int retValue = pstmt.executeUpdate(); if (retValue != 1) logger.error(Error on insert value); bufReader.close(); pstmt.close();INSERT_LONG_SQL的值為:INSERT INTO T_LONGTEST(ID, FILENAME, CONTENT) VALUES (?, ?, ?)注意需要使用setCharacterStream方法設(shè)置LONG類型的字段的值.讀取LONG類型的數(shù)據(jù)讀取也需要使用Stream的方式來讀取,下面的代碼片斷說明了讀取LONG類型的字段的方法. PreparedStatement pstmt = con.prepareStatement(QUERY_LONG_COL_SQL); pstmt.setObject(1, id); ResultSet rs = pstmt.executeQuery(); if (rs.next() Reader reader = rs.getCharacterStream(1); BufferedReader bufReader = new BufferedReader(reader); StringBuffer strBuf = new StringBuffer(); String line; while (line = bufReader.readLine() != null) strBuf.append(line); strBuf.append(rn); bufReader.close(); System.out.println(The content is: + strBuf.toString(); QUEYR_LONG_COL_SQL的取值為:SELECT CONTENT FROM T_LONGTEST WHERE ID=?更新LONG類型的數(shù)據(jù)更新LONG類型的方法和插入的代碼是一樣的,只是SQL語句不同.下面的代碼斷說明了如何更新LONG類型的數(shù)據(jù).(這個例子沒有使用T_LONGTEST表) StringReader reader = new StringReader(xmlString); pstmt = con .prepareStatement(REPORT_MODEL_CONTENT_UPDATE_SQLSTRING); pstmt.setCharacterStream(1, reader, xmlString.length(); pstmt.setInt(2, reportModelId); if (pstmt.executeUpdate() = 0) logger .error(Error on update); reader.close();REPORT_MODEL_CONTENT_UPDATE_SQLSTRING的取值為:UPDATE REPORT_MODEL SET CONTENT=? WHERE REPORT_MODEL_ID=?總結(jié):從上面的例子可以看到,操作LONG類型的字段主要是通過CharacterStream,如果是更新數(shù)據(jù)庫或者將數(shù)據(jù)插入到數(shù)據(jù)庫中使用PreparedStatement的setChara

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論