将编辑过的单元格从 JTable 保存到数据库
Posted
技术标签:
【中文标题】将编辑过的单元格从 JTable 保存到数据库【英文标题】:Save edited cell/s from JTable to database 【发布时间】:2013-08-23 08:42:30 【问题描述】:JTable 的新手。今天刚入。 所以我能够将我的数据从数据库填充到 JTable 中。 我目前正在将编辑的单元格保存到数据库中。
我读过很多文章。但是我没找到
只需一个按钮然后保存!
这是我的代码
public class DBEngine
Connection con = IQConnection.getConnectionMgrInstance().getConnection();
PreparedStatement pstm = null;
ResultSet rs = null;
public Vector getEmployee() throws Exception
Vector<Vector<String>> employeeVector = new Vector<Vector<String>>();
try
if (con != null)
String query = "SELECT * FROM OGG.TBLSAMPLE";
try
pstm = con.prepareStatement(query);
rs = pstm.executeQuery();
while(rs.next())
Vector<String> employee = new Vector<String>();
employee.add(rs.getString(1)); //Empid
employee.add(rs.getString(2)); //name
employee.add(rs.getString(3)); //position
employee.add(rs.getString(4)); //department
employeeVector.add(employee);
catch (Exception e)
e.printStackTrace();
else
//lbl_err1.setText("Error");
catch (Exception e)
e.printStackTrace();
//flag = false;
//lbl_err1.setText("Failed!");
finally
try
if(rs != null)
rs.close();
catch(Exception e)
try
if(pstm != null)
pstm.close();
catch(Exception e)
return employeeVector;
谢谢!
【问题讨论】:
保存到数据库的代码在哪里? 目前没有。仍在研究并希望找到一个这样做的例子。 @javaBeginner 我的代码有问题吗? 我没有找到任何插入代码,所以我刚刚发布了一种插入 mytable(表名)的方法,并且在我的表中有一个字段 ID。这是插入的方法。试试这使用你自己的字段名和表名。如果你发现任何问题,那么你可以问 @user2510841 我强烈建议您先完成关于 Swing 和 JDBC 的Java tutorials。在那里你会发现所有关于按钮和数据库更新的信息。阅读它,用你自己的代码尝试一下,如果你遇到了特定的问题,请回到这里。 【参考方案1】:像这样使用preparedstatement插入数据库
PreparedStatement pt=con.prepareStatement("insert into mytable values(?) ");
pt.setString(1,ID);
int result=pt.executeUpdate();
如果要更新就用这种方式
PreparedStatement pt=con.prepareStatement("update mytable set column_name=? ");
pt.setString(1,ID);
int result=pt.executeUpdate();
【讨论】:
如果您只想更新数据库表中的现有行而不是插入新行,请使用 SQLupdate
语句。
PreparedStatement ps = con.prepareStatement("UPDATE SAMPLE SET CLIENT = ?, PARTNER = ?,price = ? WHERE id = "+row); ps.setString(1, (String) jTblSample.getValueAt(row, 1)); ps.setInt(2, (Integer) jTblSample.getValueAt(row, 2)); ps.setInt(3, (Integer) jTblSample.getValueAt(row, 3)); ps.executeUpdate();
pt.setString(1,ID);
@user2510841 *** 问题和答案供将来使用。假设将来另一个用户有与您的问题相同的查询,那么他/她可以直接复制我的答案。所以根据您的问题,我的答案非常适合它。现在您有另一个关于 UPDATE 的查询,所以发布另一个问题。不要问所有查询一个。
好的,谢谢。在我的问题中,它清楚地说明了保存编辑的单元格,而不是在表中插入值。谢谢!以上是关于将编辑过的单元格从 JTable 保存到数据库的主要内容,如果未能解决你的问题,请参考以下文章