本文实例展示了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.该类的全部代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
//使用了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项目开发起到一定的帮助作用。