Ich habe eine einfache vorbereitete Anweisung, die die Datensätze in einer MySQL-Datenbank aktualisiert. Die Tabelle, die Spalte, das Zielattribut und die Informationen werden aus Textfeldern entnommen. Zuerst machte ich es ohne vorbereitete Aussage, aber das Programm war leicht breakable, wenn der Benutzer wählte, um Zitate oder %% $ &^* andere Symbole einzufügen.Mysql Syntaxfehler in vorbereiteter Anweisung
Jetzt bekommen Im dies:
UPDATE Client SET 'full_name' = Martinajh WHERE id = '5'com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Sie haben einen Fehler in Ihrer SQL Syntax; Sie in der Bedienungsanleitung für die richtige Syntax zu verwenden in der Nähe von '' selectedTable2' SET 'namec' = 'Cellvalue' WHERE id == 5' at line 1
String cellValue3 = String.valueOf(table.getValueAt(row, 0));
int id = Integer.parseInt(cellValue3);
String selectedTable2 = (String) listOfTablesNames.getSelectedValue();
String cellValue = String.valueOf(table.getValueAt(row, column));
String namec = table.getColumnName(column);
String query ="UPDATE ? SET ? = ? WHERE id== ?";
PreparedStatement preparedStmt = (PreparedStatement) conn.prepareStatement(query);
preparedStmt.setString (1, "selectedTable2");
preparedStmt.setString(2, "namec");
preparedStmt.setString(3, "cellValue");
preparedStmt.setInt(4, id);
preparedStmt.executeUpdate();
'WHERE ID ==?' Versuchen Sie es mit einem einzelnen Gleichheitszeichen hier. –