程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Java采用setAsciiStream方法檢索數據庫指定內容實例解析

Java采用setAsciiStream方法檢索數據庫指定內容實例解析

編輯:JAVA編程入門知識

本文實例展示了Java采用setAsciiStream()方法檢索數據庫的實例代碼。使用參數查詢必須在SQL 語句執行之前對參數進行賦值,賦值是使用PreparedStatement 對象的SetBoolean()、SetInt()、SetString()、SetObject()、SetNull()等方法來實現。這些方法建立了Java數據類型和SQL 數據類型的映射。JDBC 可以使用輸入流作為SQL 語句的輸入參數,設置輸入流的方法有三個:setAsciiStream()、setUnicodeStream()、setBinaryStream()。本例采用了setAsciiStream()方法,此方法將ASCII 碼值輸入到SQL 的Longvarchar 類型的參數中。執行查詢後會返回一個ResultSet 對象,該對象包括查詢語句返回的存放有查詢結果的表,通過使用ResultSet 對象的next()方法可以獲得記錄集的下一條記錄。使用ResultSet 對象的getInt()、getString、getBoolean()、getByte()、getObject()等方法來獲得記錄中的數據。使用這些方法是根據返回值的需要來確定。使用isNull()方法可以判斷輸出參數是否為空。本例中使用了getString()來獲取學生的姓名、年齡、住址、電話信息,使用了getInt()方法來獲取學生的班級號碼。

程序實現步驟如下:

1.編寫useParameterResultSet 類的基本框架,在該類中僅包括main()方法,在main()方法中先加載驅動程序,建立與數據庫的連接,對數據庫執行一般查詢,接著執行參數查詢,最後執行存儲過程。

2.該類的全部代碼如下:

//使用了JDBC 類、DriverManager 類和系統輸出,所以需要引入如下的包:
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
{
//加載驅動程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//建立連接
Connection con=DriverManager.getConnection(url,"sa","");
//創建文件輸入流
File file=new File("d:/java/usefile.txt");
int flength=2;
InputStream fis=new FileInputStream(file);
//創建PreparedStatement 對象
String sqlstr="select * from student where age=?";
PreparedStatement ps=con.prepareStatement(sqlstr);
//設置輸入參數
ps.setAsciiStream(1,fis,flength);
//獲得結果集
rs=ps.executeQuery();
//輸出結果集
System.out.println("查詢結果:");
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();
}
}
}

感興趣的讀者可以動手測試一下本文所述實例,相信會給大家的Java項目開發起到一定的幫助作用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved