Ich habe versucht, den Namen des Studenten und Vaters aus der db mit Java Swing gui.I haben den unten genannten Quellcode verwendet. Wenn ich den Code ausgeführt habe, erhalte ich keinen Fehler.Wie die spezifischen Werte in Java Swing GUI mit der db angezeigt werden?
import javax.swing.*;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
public class Test1 {
JFrame f;
JLabel l1,l2,l3,l4;
JTextField f1,f2;
JButton b1;
Connection con;
Statement st = null;
ResultSet rs;
/**
* Creates new form Register
*/
public static void main(String args[]) {
Test1 r=new Test1();
r.frame();
r.connect();
}
public void connect() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection("jdbc:oracle:thin:@//drf9db07:1521/DRF9DB_EDA","EDA_XMLV02_IMP_f9","clob1234");
st =con.createStatement();
String str = "select student_name,father_name from studentdb where rollno=? and batchno=?";
ResultSet rs = st.executeQuery(str);
System.out.println(rs);
while (rs.next()) {
String student_name = rs.getString("student_name");
String father_name = rs.getString("father_name");
System.out.println(student_name + "\t" + father_name);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void frame()
{
f=new JFrame ("studentrecord");
f1=new JTextField(10);
f2=new JTextField(10);
l1=new JLabel("rollno");
l2=new JLabel("batchno");
b1=new JButton("submit");
l3=new JLabel("student_name");
l4=new JLabel("father_name");
f.setLayout(new GridBagLayout());
f.add(l1);
f.add(f1);
f.add(l2);
f.add(f2);
f.add(b1);
f.add(l3);
f.add(l4);
f.setVisible(true);
f.pack();
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
String rollno=l1.getText();
String batchno=l2.getText();
String student_name=l3.getText();
String father_name=l4.getText();
System.out.println(rollno);
System.out.println(batchno);
System.out.println(student_name);
System.out.println(father_name);
connect();
}
});
}
}
Wenn ich die Rolle nicht und Batch codieren no i die Ergebnisse in der console.but sehen konnte, wenn ich die Parameter übergeben ihre nicht ausgeführt zu werden, und ich keine Aktualisierungen in der gui sehen konnte.
jetzt ich erhalte die folgende Reaktion in der Eclipse-Konsole, wenn die rollno und batchno eingegeben
[email protected] rollno batchno student_name father_name oracle.jdbc.driver.OracleResultSetImpl @ 16d0c80 JAVA_TOOL_OPTIONS abgeholt: -agentlib: jvmhook
ich denke, die Werte, die ich vorbei bin nicht auf die sQL-Abfrage aus dem gui geschrieben.
Anstatt den Rückgabewert Ihres executeQuery-Befehls zu verschwenden, weisen Sie ihn einem ResultSet zu: ResultSet rs = st.executeQuery (str); Dann bringt Sie rs.next() zum ersten Eintrag. Lies dies: https://docs.oracle.com/javase/tutorial/jdbc/basics/processingsqlstatements.html –
danke @ CostisAivalis – sathya