Das Beispiel in diesem Artikel zeigt den Beispielcode von Java, der die Methode setAsciiStream() zum Abrufen der Datenbank verwendet. Bei Verwendung einer Parameterabfrage müssen die Parameter zugewiesen werden, bevor die SQL-Anweisung ausgeführt wird. Die Zuweisung erfolgt mithilfe von SetBoolean(), SetInt(), SetString(), SetObject(), SetNull() und anderen Methoden des PreparedStatement-Objekts . Diese Methoden stellen eine Zuordnung zwischen Java-Datentypen und SQL-Datentypen her. JDBC kann den Eingabestream als Eingabeparameter der SQL-Anweisung verwenden. Es gibt drei Methoden zum Festlegen des Eingabestreams: setAsciiStream(), setUnicodeStream(), setBinaryStream(). In diesem Beispiel wird die Methode setAsciiStream() verwendet, die den ASCII-Codewert in den Longvarchar-Typparameter von SQL eingibt. Nach der Ausführung der Abfrage wird ein ResultSet-Objekt zurückgegeben, das die Tabelle mit den von der Abfrageanweisung zurückgegebenen Abfrageergebnissen enthält. Der nächste Datensatz des Datensatzes kann mithilfe der next()-Methode des ResultSet-Objekts abgerufen werden. Verwenden Sie getInt(), getString, getBoolean(), getByte(), getObject() und andere Methoden des ResultSet-Objekts, um die Daten im Datensatz abzurufen. Der Einsatz dieser Methoden richtet sich nach dem Bedarf an Rückgabewerten. Verwenden Sie die Methode isNull(), um festzustellen, ob der Ausgabeparameter leer ist. In diesem Beispiel wird getString() verwendet, um den Namen, das Alter, die Adresse und die Telefonnummer des Schülers abzurufen, und die Methode getInt() wird verwendet, um die Klassennummer des Schülers abzurufen.
Die Schritte zur Programmimplementierung sind wie folgt:
1. Schreiben Sie das Grundgerüst der useParameterResultSet-Klasse. In der main()-Methode wird zunächst der Treiber geladen, eine Verbindung mit der Datenbank hergestellt und anschließend eine allgemeine Abfrage durchgeführt Die Parameterabfrage wird ausgeführt und schließlich wird die gespeicherte Prozedur ausgeführt.
2. Der gesamte Code dieser Klasse lautet wie folgt:
//Die JDBC-Klasse, die DriverManager-Klasse und die Systemausgabe werden verwendet, daher müssen die folgenden Pakete eingeführt werden: 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{//Laden Sie den Treiber Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//Herstellen einer Verbindung Connection con=DriverManager.getConnection(url,"sa"," " );//Dateieingabestream erstellen File file=new File("d:/java/usefile.txt");int flength=2;InputStream fis=new FileInputStream(file);//PreparedStatement-Objekt erstellen String sqlstr="select * from student where age=?";PreparedStatement ps=con.prepareStatement(sqlstr);//Setzen Sie die Eingabeparameter ps.setAsciiStream(1,fis,flength);//Erhalten Sie die Ergebnismenge rs=ps.executeQuery();//Geben Sie die Ergebnismenge aus System.out. println(" Abfrageergebnisse: ");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(); }}}
Interessierte Leser können die in diesem Artikel beschriebenen Beispiele testen. Ich glaube, dass sie für die Entwicklung von Java-Projekten hilfreich sein werden.