Java采用setAsciiStream方法检索数据库指定内容实例解析

作者:shichen2014 时间:2024-01-28 18:40:33 

本文实例展示了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项目开发起到一定的帮助作用。

标签:Java
0
投稿

猜你喜欢

  • 最详细的python工具Anaconda+Pycharm安装教程

    2022-01-15 10:20:30
  • 实用PHP会员权限控制实现原理分析

    2023-11-23 11:32:39
  • 超链“确认”对话框confirm

    2008-05-16 11:42:00
  • SQL分页查询方式汇总

    2024-01-24 00:33:29
  • Python基于pandas爬取网页表格数据

    2023-03-13 07:30:32
  • Django实现文件上传下载

    2022-03-17 18:42:48
  • python如何寻找主串中所有指定子串下标

    2023-11-27 08:38:41
  • numpy.ndarray 实现对特定行或列取值

    2022-05-14 09:17:24
  • 解决pandas中读取中文名称的csv文件报错的问题

    2021-08-07 00:53:40
  • asp如何自动更新导航栏?

    2010-07-07 12:10:00
  • 使用python批量修改文件名的方法(视频合并时)

    2022-08-24 13:19:07
  • web.py 十分钟创建简易博客实现代码

    2022-10-23 00:55:38
  • go语言实现sftp包上传文件和文件夹到远程服务器操作

    2024-05-08 10:22:18
  • Python中格式化字符串输出的4种方式小结

    2023-08-10 21:30:49
  • Python虚拟机栈帧对象及获取源码学习

    2022-08-26 07:15:30
  • PHP字符编码问题之GB2312 VS UTF-8解决方法

    2024-04-29 13:57:28
  • Python实现将sqlite数据库导出转成Excel(xls)表的方法

    2024-01-18 02:05:10
  • springboot配置文件抽离 git管理统 配置中心详解

    2021-05-24 08:17:18
  • 自动完成JS类(纯JS, Ajax模式)

    2024-05-11 09:41:59
  • 页面重构应注意的repaint和reflow

    2011-03-31 17:11:00
  • asp之家 网络编程 m.aspxhome.com