この記事の例では、setAsciiStream() メソッドを使用してデータベースを取得する Java のサンプル コードを示します。パラメーター クエリを使用する場合、SQL ステートメントを実行する前にパラメーターを割り当てる必要があります。割り当ては、SetBoolean()、SetInt()、SetString()、SetObject()、SetNull() および PreparedStatement オブジェクトのその他のメソッドを使用して行われます。 。これらのメソッドは、Java データ型と SQL データ型の間のマッピングを確立します。 JDBC では、入力ストリームを SQL ステートメントの入力パラメータとして使用できます。入力ストリームを設定するには、setAsciiStream()、setUnicodeStream()、setBinaryStream() の 3 つのメソッドがあります。この例では、SQL の Longvarchar 型パラメータに ASCII コード値を入力する setAsciiStream() メソッドを使用します。クエリを実行すると、クエリ ステートメントによって返されたクエリ結果を含むテーブルを含む ResultSet オブジェクトが返されます。レコード セットの次のレコードは、ResultSet オブジェクトの next() メソッドを使用して取得できます。レコード内のデータを取得するには、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";String 名前,年齢,住所,電話番号;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 students where age=?";PreparedStatement ps=con.prepareStatement(sqlstr);//入力パラメータを設定します ps.setAsciiStream(1,fis,flength);//結果セットを取得します rs=ps.executeQuery();//結果セットを出力します System.out. println(" クエリ結果: ");while(rs.next()){name=rs .getString("名前");年齢=rs.getString("年齢");cno=rs.getInt("クラス番号");住所=rs.getString("住所");電話=rs.getString("電話" );System.out.println(名前+" "+年齢+" "+cno+" "+住所+" "+電話番号);}con.close();}catch(Exception e){System.out.println(e.getMessage());e.printStackTrace(); }}}
興味のある読者は、この記事で説明されている例をテストして、すべての Java プロジェクト開発に役立つと信じています。