Java采用setAsciiStream方法檢索數(shù)據(jù)庫(kù)指定內(nèi)容實(shí)例解析
本文實(shí)例展示了Java采用setAsciiStream()方法檢索數(shù)據(jù)庫(kù)的實(shí)例代碼。使用參數(shù)查詢必須在SQL 語句執(zhí)行之前對(duì)參數(shù)進(jìn)行賦值,賦值是使用PreparedStatement 對(duì)象的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í)行查詢后會(huì)返回一個(gè)ResultSet 對(duì)象,該對(duì)象包括查詢語句返回的存放有查詢結(jié)果的表,通過使用ResultSet 對(duì)象的next()方法可以獲得記錄集的下一條記錄。使用ResultSet 對(duì)象的getInt()、getString、getBoolean()、getByte()、getObject()等方法來獲得記錄中的數(shù)據(jù)。使用這些方法是根據(jù)返回值的需要來確定。使用isNull()方法可以判斷輸出參數(shù)是否為空。本例中使用了getString()來獲取學(xué)生的姓名、年齡、住址、電話信息,使用了getInt()方法來獲取學(xué)生的班級(jí)號(hào)碼。
程序?qū)崿F(xiàn)步驟如下:
1.編寫useParameterResultSet 類的基本框架,在該類中僅包括main()方法,在main()方法中先加載驅(qū)動(dòng)程序,建立與數(shù)據(jù)庫(kù)的連接,對(duì)數(shù)據(jù)庫(kù)執(zhí)行一般查詢,接著執(zhí)行參數(shù)查詢,最后執(zhí)行存儲(chǔ)過程。
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 對(duì)象
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)手測(cè)試一下本文所述實(shí)例,相信會(huì)給大家的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)文章
Spring Boot 的創(chuàng)建和運(yùn)行示例代碼詳解
Spring Boot 的誕生是為了簡(jiǎn)化Spring程序的開發(fā),今天給大家介紹下Spring Boot 的創(chuàng)建和運(yùn)行,主要包括Spring Boot基本概念和springboot優(yōu)點(diǎn),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-07-07
Java實(shí)現(xiàn)平鋪列表(List)互轉(zhuǎn)樹形(Tree)結(jié)構(gòu)
本文主要介紹了Java實(shí)現(xiàn)平鋪列表(List)互轉(zhuǎn)樹形(Tree)結(jié)構(gòu),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
Java使用JXLS實(shí)現(xiàn)導(dǎo)出Excel
jxls作為一個(gè)開源工具,提供了一種高效且易于維護(hù)的方式來處理復(fù)雜的Excel導(dǎo)出需求,下面就跟隨小編一起來學(xué)習(xí)一下如何使用jxls實(shí)現(xiàn)導(dǎo)出Excel吧2025-01-01
idea新建maven項(xiàng)目沒有src目錄的操作方法
這篇文章主要介紹了idea新建maven項(xiàng)目沒有src目錄的兩種操作方法,需要的朋友可以參考下2018-03-03

