В примере в этой статье показан пример кода Java, использующий метод setAsciiStream() для получения базы данных. При использовании запроса параметров параметры должны быть назначены до выполнения оператора SQL. Назначение достигается с помощью SetBoolean(), SetInt(), SetString(), SetObject(), SetNull() и других методов объекта ReadedStatement. . Эти методы устанавливают соответствие между типами данных Java и типами данных SQL. JDBC может использовать входной поток в качестве входного параметра оператора SQL. Существует три метода установки входного потока: setAsciiStream(), setUnicodeStream(), setBinaryStream(). В этом примере используется метод setAsciiStream(), который вводит значение кода ASCII в параметр типа SQL Longvarchar. После выполнения запроса будет возвращен объект ResultSet, который включает таблицу, содержащую результаты запроса, возвращенные оператором запроса. Следующую запись набора записей можно получить с помощью метода next() объекта ResultSet. Используйте getInt(), getString, getBoolean(), getByte(), getObject() и другие методы объекта ResultSet для получения данных в записи. Использование этих методов определяется необходимостью возвращаемых значений. Используйте метод 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";Имя строки,возраст,адрес,телефон;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);//Создаем объект ReadedStatement String sqlstr="select * from Student, где age=?";PreparedStatement ps=con.prepareStatement(sqlstr);//Устанавливаем входные параметры ps.setAsciiStream(1,fis,flength);//Получаем набор результатов rs=ps.executeQuery();//Выводим набор результатов System.out. println("Результаты запроса: "); while(rs.next()){name=rs .getString("имя");age=rs.getString("возраст");cno=rs.getInt("classno");address=rs.getString("адрес");telephone=rs.getString("telephone" );System.out.println(имя+" "+age+" "+cno+" "+address+" "+telephone);}con.close();}catch(Exception e){System.out.println(e.getMessage());e.printStackTrace(); }}}
Заинтересованные читатели могут протестировать примеры, описанные в этой статье. Я считаю, что это будет полезно каждому при разработке Java-проектов.