Java采用setAsciiStream方法檢索數(shù)據(jù)庫指定內(nèi)容實(shí)例解析
本文實(shí)例展示了Java采用setAsciiStream()方法檢索數(shù)據(jù)庫的實(shí)例代碼。使用參數(shù)查詢必須在SQL 語句執(zhí)行之前對參數(shù)進(jìn)行賦值,賦值是使用PreparedStatement 對象的SetBoolean()、SetInt()、SetString()、SetObject()、SetNull()等方法來實(shí)現(xiàn)。這些方法建立了Java數(shù)據(jù)類型和SQL 數(shù)據(jù)類型的映射。JDBC 可以使用輸入流作為SQL 語句的輸入?yún)?shù),設(shè)置輸入流的方法有三個(gè):setAsciiStream()、setUnicodeStream()、setBinaryStream()。本例采用了setAsciiStream()方法,此方法將ASCII 碼值輸入到SQL 的Longvarchar 類型的參數(shù)中。執(zhí)行查詢后會返回一個(gè)ResultSet 對象,該對象包括查詢語句返回的存放有查詢結(jié)果的表,通過使用ResultSet 對象的next()方法可以獲得記錄集的下一條記錄。使用ResultSet 對象的getInt()、getString、getBoolean()、getByte()、getObject()等方法來獲得記錄中的數(shù)據(jù)。使用這些方法是根據(jù)返回值的需要來確定。使用isNull()方法可以判斷輸出參數(shù)是否為空。本例中使用了getString()來獲取學(xué)生的姓名、年齡、住址、電話信息,使用了getInt()方法來獲取學(xué)生的班級號碼。
程序?qū)崿F(xiàn)步驟如下:
1.編寫useParameterResultSet 類的基本框架,在該類中僅包括main()方法,在main()方法中先加載驅(qū)動(dòng)程序,建立與數(shù)據(jù)庫的連接,對數(shù)據(jù)庫執(zhí)行一般查詢,接著執(zhí)行參數(shù)查詢,最后執(zhí)行存儲過程。
2.該類的全部代碼如下:
//使用了JDBC 類、DriverManager 類和系統(tǒng)輸出,所以需要引入如下的包: import java.sql.*; import java.io.*; //import java.util.*; class useParameterResultSet { public static void main(String argv[]) { String url="jdbc.odbc:useDSN"; String name,age,address,telephone; int cno; java.sql.ResultSet rs; try { //加載驅(qū)動(dòng)程序 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //建立連接 Connection con=DriverManager.getConnection(url,"sa",""); //創(chuàng)建文件輸入流 File file=new File("d:/java/usefile.txt"); int flength=2; InputStream fis=new FileInputStream(file); //創(chuàng)建PreparedStatement 對象 String sqlstr="select * from student where age=?"; PreparedStatement ps=con.prepareStatement(sqlstr); //設(shè)置輸入?yún)?shù) ps.setAsciiStream(1,fis,flength); //獲得結(jié)果集 rs=ps.executeQuery(); //輸出結(jié)果集 System.out.println("查詢結(jié)果:"); while(rs.next()) { name=rs.getString("name"); age=rs.getString("age"); cno=rs.getInt("classno"); address=rs.getString("address"); telephone=rs.getString("telephone"); System.out.println(name+" "+age+" "+cno+" "+address+" "+telephone); } con.close(); } catch(Exception e) { System.out.println(e.getMessage()); e.printStackTrace(); } } }
感興趣的讀者可以動(dòng)手測試一下本文所述實(shí)例,相信會給大家的Java項(xiàng)目開發(fā)起到一定的幫助作用。
- JSP JavaBean的setProperty屬性
- java.net.SocketException: Connection reset 解決方法
- java Collection 之Set使用說明
- 淺析Java中Map與HashMap,Hashtable,HashSet的區(qū)別
- Java中HashMap和Hashtable及HashSet的區(qū)別
- JAVA中l(wèi)ist,set,數(shù)組之間的轉(zhuǎn)換詳解
- Java集合Set、List、Map的遍歷方法
- Java中Set與List的關(guān)系與區(qū)別介紹
- 詳解Java的Hibernate框架中的set映射集與SortedSet映射
- java中set接口使用方法詳解
相關(guān)文章
ThreadPoolExecutor中的submit()方法詳細(xì)講解
在使用線程池的時(shí)候,發(fā)現(xiàn)除了execute()方法可以執(zhí)行任務(wù)外,還發(fā)現(xiàn)有一個(gè)方法submit()可以執(zhí)行任務(wù),本文就詳細(xì)的介紹一下ThreadPoolExecutor中的submit()方法,具有一定的參考價(jià)值,感興趣的可以了解一下2022-04-04Java線程池ThreadPoolExecutor原理及使用實(shí)例
這篇文章主要介紹了Java線程池ThreadPoolExecutor原理及使用實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05java程序中指定某個(gè)瀏覽器打開的實(shí)現(xiàn)方法
最近工作中遇到一個(gè)需求,是要利用java打開指定瀏覽器,整理后發(fā)現(xiàn)有四種解決的方法,所以想著分享出來,下面這篇文章主要給大家介紹了java程序中指定某個(gè)瀏覽器打開的實(shí)現(xiàn)方法,,需要的朋友可以參考下。2017-03-03詳解Java中多線程異常捕獲Runnable的實(shí)現(xiàn)
這篇文章主要介紹了詳解Java中多線程異常捕獲Runnable的實(shí)現(xiàn)的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這樣的知識,需要的朋友可以參考下2017-10-10Spring boot route Controller接收參數(shù)常用方法解析
這篇文章主要介紹了Spring boot route Controller接收參數(shù)常用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10java工具類實(shí)現(xiàn)文件壓縮zip以及解壓縮功能
這篇文章主要給大家介紹了關(guān)于java工具類實(shí)現(xiàn)文件壓縮zip以及解壓縮功能的相關(guān)資料,文中主要使用使用的是hutool工具類,Hutool是一個(gè)Java工具類庫,由國內(nèi)的程序員loolly開發(fā),目的是提供一些方便、快捷、實(shí)用的工具類和工具方法,需要的朋友可以參考下2024-02-02Mybatis實(shí)現(xiàn)增刪改查(CRUD)實(shí)例代碼
MyBatis 是支持普通 SQL 查詢,存儲過程和高級映射的優(yōu)秀持久層框架。通過本文給大家介紹Mybatis實(shí)現(xiàn)增刪改查(CRUD)實(shí)例代碼 ,需要的朋友參考下2016-05-05