Hallo, ich bin neu in JDBC und rannte in executeQuery
Fehler beim Erstellen der JDBC. Ich möchte nur alle Informationen in der student
Tabelle anzeigen. Ich habe die prepareStatement
verwendet und ich habe keinen Parameter eingestellt, da ich nicht habe. Es funktioniert, wenn Sie createStatement
verwenden.executeQuery FEHLER für JDBC
Dies ist der Fehler, den ich
immer binThe method executeQuery(String) in the type Statement is not applicable for the arguments()
Wie kann ich es bekommen arbeiten prepareStatement
verwenden.
public class Test3 extends JFrame{
Vector rowData,columnNames;
JTable jt = null;
JScrollPane jsp = null;
Connection myConn = null;
Statement myStmt = null;
ResultSet myRs = null;
//constructor
public Test3() {
columnNames = new Vector();
rowData = new Vector();
columnNames.add("Student_ID");
columnNames.add("Name");
columnNames.add("Gender");
columnNames.add("Age");
columnNames.add("DOB");
columnNames.add("Major");
try {
//1. Get a connection to database
Connection myConn = DriverManager.getConnection("jdbc:mysql://localhost:3306/stu?useSSL=false","root","1972");
//2. Create a prepareStatement
myStmt = myConn.prepareStatement("Select * from student");
// 3. Set the parameters
// no need to set the parameters, because there is not parameter needed to be set
// 4. Execute SQL query
***myRs = myStmt.executeQuery();***
while(myRs.next()) {
Vector col = new Vector();
col.add(myRs.getString(1));
col.add(myRs.getString(2));
col.add(myRs.getString(3));
col.add(myRs.getInt(4));
col.add(myRs.getString(5));
col.add(myRs.getString(6));
rowData.add(col);
}
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
if(myRs!=null) myRs.close();
if(myStmt!=null) myStmt.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
Test3 test3 = new Test3();
}
}
Sie nicht sagen, was Ihr Fehler ist, ich bin Unter der Annahme, dass es keine Becsuse kompiliert, existiert die Methode nicht in der Anweisung. Ordnen Sie die vorbereitete Anweisung einer Variablen vom Typ PreparedStatement zu. –
Verwenden Sie 'PreparedStatement myStmt = null;' anstelle von 'Statement myStmt = null;'. –