我试图通过单击按钮将jtable中的数据插入数据库。我得到一个异常,说明列计数与第1行的值计数不匹配
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
Class.forName("com.mysql.cj.jdbc.Driver");
Connection connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/sms", "root", "");
String query="insert into attendance(regNo,name,sClass,attendance,date) values('"+regNo+"','"+names+"','"+sClass+"','"+attendance+"')";
Statement st=connection.createStatement();
int row=jTable_Display_Student.getSelectedRow();
String regNo=(jTable_Display_Student.getValueAt(row, 0).toString());
String names=(jTable_Display_Student.getValueAt(row, 1).toString());
String sClass=(jTable_Display_Student.getValueAt(row, 2).toString());
String attendance=(jTable_Display_Student.getValueAt(row, 3).toString());
st.executeUpdate(query);
JOptionPane.showMessageDialog(null, "Selected Rows Submitted Successfully.");
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage());
}
}
任何协助都将不胜感激
2条答案
按热度按时间w41d8nur1#
在这部分代码中:
你有5列
只有4个值来填充它们
所以你需要加上
date
你失踪了5lhxktic2#
使用
PreparedStatement
尝试使用sql时。代码更易于阅读,不易出错。让您开始学习的一个基本示例:
希望你能很容易地知道:
要更新的列数,以及需要传递给sql语句的值数
您不必担心这些值的所有分隔符。