将多行从 Jtable 插入到 sql 数据库 table
Insert multiple rows from Jtable to sql database table
我正在尝试将行数据从 JTable 插入到 sql 数据库中的 table,但在运行时遇到错误
Incorrect syntax near the keyword 'Transaction'.
这里是代码
try {
int rows = table.getRowCount();
// con.setAutoCommit(false);
String query = "Insert into Transaction(transaction_code, transaction_date, item_code, item_name, quantity, item_price, total) values (?,?,?,?,?,?,?) ;";
PreparedStatement pst = con.prepareStatement(query);
for (int row = 0; row < rows; row++) {
int t_code = (int) table.getValueAt(row, 0);
Timestamp t_date = (Timestamp) table.getValueAt(row, 1);
int i_code = (int) table.getValueAt(row, 2);
String i_name = (String) table.getValueAt(row, 3);
int quantity = (int) table.getValueAt(row, 4);
BigDecimal i_price = (BigDecimal) table.getValueAt(row, 5);
BigDecimal total = (BigDecimal) table.getValueAt(row, 6);
pst.setInt(1, t_code);
pst.setTimestamp(2, t_date);
pst.setInt(3, i_code);
pst.setString(4, i_name);
pst.setInt(5, quantity);
pst.setBigDecimal(6, i_price);
pst.setBigDecimal(7, total);
pst.addBatch();
}
pst.executeBatch();
pst.execute(query);
//con.commit();
} catch (Exception e1) {
e1.printStackTrace();
}
Transaction
是 mysql 和许多其他 dbms 中的 keyword。不要将其用作表名或使用反引号转义
我正在尝试将行数据从 JTable 插入到 sql 数据库中的 table,但在运行时遇到错误
Incorrect syntax near the keyword 'Transaction'.
这里是代码
try {
int rows = table.getRowCount();
// con.setAutoCommit(false);
String query = "Insert into Transaction(transaction_code, transaction_date, item_code, item_name, quantity, item_price, total) values (?,?,?,?,?,?,?) ;";
PreparedStatement pst = con.prepareStatement(query);
for (int row = 0; row < rows; row++) {
int t_code = (int) table.getValueAt(row, 0);
Timestamp t_date = (Timestamp) table.getValueAt(row, 1);
int i_code = (int) table.getValueAt(row, 2);
String i_name = (String) table.getValueAt(row, 3);
int quantity = (int) table.getValueAt(row, 4);
BigDecimal i_price = (BigDecimal) table.getValueAt(row, 5);
BigDecimal total = (BigDecimal) table.getValueAt(row, 6);
pst.setInt(1, t_code);
pst.setTimestamp(2, t_date);
pst.setInt(3, i_code);
pst.setString(4, i_name);
pst.setInt(5, quantity);
pst.setBigDecimal(6, i_price);
pst.setBigDecimal(7, total);
pst.addBatch();
}
pst.executeBatch();
pst.execute(query);
//con.commit();
} catch (Exception e1) {
e1.printStackTrace();
}
Transaction
是 mysql 和许多其他 dbms 中的 keyword。不要将其用作表名或使用反引号转义