jtableとデータベースから選択した行を削除しようとしていますが、構文エラーが発生しています。私はvarcharを使用しているか、実際には構文が間違っているかもしれません。jtableから削除しようとしているJava SQL構文エラー
btnNewButton_2 = new JButton("Dzēst");
btnNewButton_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Statement statement = null;
try {
int tableRow = table_1.getSelectedRow();
Object Kods = table_1.getValueAt(tableRow, 0);
Object Nosaukums = table_1.getValueAt(tableRow, 1);
Object Inventara = table_1.getValueAt(tableRow, 2);
Object Uzskaites = table_1.getValueAt(tableRow, 3);
Object Iegad = table_1.getValueAt(tableRow, 4);
Statement stmt = null;
Connection connection = ConnectDB();
String sql = "DELETE FROM users " +
"WHERE Kods = " + Kods + " AND Nosaukums = '" + Nosaukums + "' AND Inventara Nr = " +
Inventara + " AND Uzskaites vertiba = '" + Uzskaites + "' AND Iegades vertiba = " + Iegad;
stmt = connection.createStatement();
stmt.executeUpdate(sql);
} catch (SQLException ex) {
Logger.getLogger(dddddddd.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, "Nav ievadita visa informacija");
}
ERROR:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Nr = ttttt AND Uzskaites vertiba = '3.0' AND Iegades vertiba = 3.0' at line 1
データベース変数:あなたの列がスペースで区切られた名前を持つ
Kods -Index -int(255)
Nosaukums - varchar(255)
Inventara Nr - varchar(255)
Uzskaites vertiba - float
Iegades vertiba - float
私はまた、 'PreparedStatement'sを見てみることをお勧めします。 – MadProgrammer