[英]How to update table from GUI in Java Netbeans?
I'm designing a GUI using Java Netbeans and am trying to insert values into the table from the GUI fields. 我正在设计使用Java Netbeans的GUI,并试图从GUI字段中将值插入表中。 It shows no error , but nothing is getting inserted. 它没有显示错误,但是没有插入任何内容。 Here is my code : 这是我的代码:
Statement stmt = null;
try {
String sql = "Insert into Elective (subject_code,topic,syllabus,credit,Expert_ID,startsession,endsession) values (?,?,?,?,?,?,?)";
pst = conn.prepareStatement(sql);
String subject = Subject_code.getSelectedItem().toString();
pst.setString(1, subject);
pst.setString(2, topic.getText());
pst.setString(3, syllabus.getText());
pst.setString(4, credit.getText());
String Expert = Expert_ID.getSelectedItem().toString();
pst.setString(5, Expert);
int y1 = startsession.getYear();
int y2 = endsession.getYear();
pst.setInt(6, y1);
pst.setInt(7, y2);
//ResultSet executeQuery = pst.executeQuery();
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM Elective;");
while (rs.next()) {
String subject_code1 = rs.getString("subject_code");
String topic1 = rs.getString("topic");
String syllabus1 = rs.getString("syllabus");
String credit1 = rs.getString("credit");
String Expert_ID1 = rs.getString("Expert_ID");
int startsession1 = rs.getInt("startsession");
int endsession1 = rs.getInt("endsession");
System.out.println("Subject Code = " + subject_code1);
System.out.println("Topic = " + topic1);
System.out.println("Syllabus=" + syllabus1);
System.out.println("Credit = " + credit1);
System.out.println("Expert_ID = " + Expert_ID1);
System.out.println("Start session = " + startsession1);
System.out.println("End session = " + endsession1);
System.out.println();
}
rs.close();
stmt.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
you should use executeUpdate()
to do updates to database instead of executeQuery()
method and executeUpdate()
doesn't return a ResultSet
. 您应该使用executeUpdate()
而不是executeQuery()
方法对数据库进行更新,并且executeUpdate()
不返回ResultSet
。
use 采用
pst.executeUpdate();
not 不
ResultSet executeQuery = pst.executeQuery();//not correct
don't know why you have commented that line.presumably that's why you don't get any error 不知道为什么要注释该行。大概这就是为什么您不会收到任何错误的原因
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.