Ich versuche gerade, eine txt-Datei über ein Java-Programm in eine mySQL-Datenbank zu schreiben. Meine Datenbank verbindet sich korrekt über einen JDBC-Treiber und ich kann Tabellen usw. über das Programm erstellen. Jedoch, wenn ich versuche, die Textdatei zu lesen, bekomme ich diese FehlermeldungEine TXT-Datei in die mySQL-Datenbank schreiben
java.sql.SQLException: Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MariaDB-Serverversion entspricht, für die richtige Syntax in der Nähe von "FName", "SName", "DOB" VALUES ("John", "McCullough", "270696") in Zeile 1
Ich kann keinen Fehler in meinem SQL-Code finden. Hier ist der Rest des Codes von der Klasse. Jede Hilfe würde sehr geschätzt werden.
try (Connection con = DriverManager.getConnection(dbUrl, dbUsername, dbPassword)) {
FileReader file1 = new FileReader("resources/Test.txt");
BufferedReader buffer1 = new BufferedReader(file1);
String read;
while ((read = buffer1.readLine()) != null) {
String[] row = read.split(",");
String fName = row[0];
String sName = row[1];
String DOB = row[2];
String insert = "INSERT INTO chessleague.table1 ('FName' , 'SName' , 'DOB') VALUES ('" + fName + "' , '" + sName + "' , '" + DOB + "')";
ps = con.prepareStatement(insert);
ps.executeUpdate();
ps.close();
}
} catch (Exception ex) {
System.out.println(ex);
}
keine Anführungszeichen für die Spaltennamen verwenden '('FName', '$ name', 'DOB')' tun nur '(FName, SNAME, DOB)' –
Zuerst wirst du wollen Lesen Sie [Vorbereitete Anweisungen verwenden] (https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html). Ist DOB wirklich ein 'String'-basierter Wert? – MadProgrammer
@ Aominè Danke, dass mein Problem behoben –