Java 如何从JTable获取值并添加到数据库。Jtable和db列是不同的
我想从Jtable中获取值,然后将它们添加到数据库中。但是我得到错误“没有为参数2指定值”。以及如何替换Java 如何从JTable获取值并添加到数据库。Jtable和db列是不同的,java,mysql,jtable,database-connection,Java,Mysql,Jtable,Database Connection,我想从Jtable中获取值,然后将它们添加到数据库中。但是我得到错误“没有为参数2指定值”。以及如何替换pstmt.setString(j+1,(String)o)在浮点和int值的情况下 这是代码。屏幕截图如下 PreparedStatement pstmt=(PreparedStatement) con.prepareStatement("INSERT INTO `purchases`(`Pr_ID`,`Model`, `Name`, `Purchase_Price`, `Sale_Pric
pstmt.setString(j+1,(String)o)代码>在浮点和int值的情况下
这是代码。屏幕截图如下
PreparedStatement pstmt=(PreparedStatement) con.prepareStatement("INSERT INTO `purchases`(`Pr_ID`,`Model`, `Name`, `Purchase_Price`, `Sale_Price`, `Quantity`) VALUES (?,?,?,?,?,?)");
for (int i = 0; i < model.getRowCount(); i++) {
for (int j = 0; j < model.getColumnCount(); j++) {
Object o = model.getValueAt(i, j);
System.out.println("object from table is : " +o);
pstmt.setString(j+1, (String)o);
pstmt.executeUpdate();
pstmt.clearParameters();
}
}
PreparedStatement pstmt=(PreparedStatement)con.PreparedStatement(“插入‘采购’(‘采购标识’、‘型号’、‘名称’、‘采购价格’、‘销售价格’、‘数量’)值(?,,,,,,)”;
对于(int i=0;i
Jtable屏幕截图
数据库图片:
注意:Pur_ID是自动递增的主键。并且Pr_ID是外键
“没有为参数2指定值”
您只将第一列的数据分配给PreparedStatement
pstmt.executeUpdate();
pstmt.clearParameters();
不要在列循环中执行上述语句。您需要对数据库中的每一列执行一次更新
在将所有值分配给该语句后,只应执行该语句一次。也就是说,每行一次。如果您能帮忙,我还需要一个解决方案。pstmt固定管柱(j+1,(管柱)o);这只适用于字符串。但我的值也是浮点和整数。它的替代品是什么?