我想知道如何使用 SQL 更新 jTable(Java 中)中的特定单元格。
这是我的尝试,但不起作用。
public void actionPerformed(ActionEvent e) {
int sel_tab=jTable1.getSelectedRow();
myDbConnection dbconnect;
dbconnect = new myDbConnection();
ResultSet resultSet =null;
resultSet = dbconnect.excuteQuery("SELECT id, area,location, status1 FROM pledges ");
if(e.getSource()==jButton1){
try {
String n = resultSet.getString("id");
String a = resultSet.getString("area");
String p = resultSet.getString("location");
String se = resultSet.getString("status1");
dbconnect.excuteUpdate("update pledges SET area="+ a +" whare id= "+sel_tab+"");
} catch (SQLException ex) {;}
}
}
注意:我在 Netbeans 工作。
最佳答案
终于找到正确答案了
下面的代码将解释一切
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jButton1){
jTable1.getModel().addTableModelListener(new TableModelListener() {
public void tableChanged(TableModelEvent e) {
myDbConnection dbconnect;
dbconnect = new myDbConnection();
ResultSet resultSet =null;
resultSet = dbconnect.excuteQuery("SELECT id, area,location, status1 FROM pledges ");
int row = e.getFirstRow();
int column = e.getColumn();
TableModel model = (TableModel)e.getSource();
String columnName = model.getColumnName(column);
Object data = model.getValueAt(row, column);
int viewRow = jTable1.getSelectedRow(); // view row with sort
int modelRow = jTable1.convertRowIndexToModel(viewRow); // convert
dbconnect.excuteUpdate("update pledges set area ='" + data + "' where id = '"+jTable1.getModel().getValueAt(modelRow,0) +"'" );
System.out.println("Table value changed "+data);
}
});
感谢每一个帮助过我的人
关于java - 使用 SQL 更新 jTable 中的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5524431/