Java采用setAsciiStream方法检索数据库指定内容实例解析
本文实例展示了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项目开发起到一定的帮助作用。