Hallo, ich habe die Klasse "Hinzufügen", die über eine andere Klasse aufgerufen wird. In der Klasse "Hinzufügen" sollen die Werte in einen vorher ausgewählte Tabelle eingefügt werden.
Allerdings erhalte ich den Fehler: " org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such column: ...)"
Ich habe schon mehrmals meine über die for Schleifen ausfgenommenen Werte zum Test ausgelesen und das passt immer. Daher verstehe ich den Fehler hier nicht.
hinzufügenWerteArray soll die einzelnen Werte für die Spalten einer Tabelle einlesen.
columnNames beinhaltet die Namen der Spalten.
Und relName Insert gibt den Tabellennamen an, in den etwas eingefügt werden soll.
Weiß da jemand, wo der wahrscheinlich super einfache Fehler liegt? ^^
Danke schonmal
Allerdings erhalte ich den Fehler: " org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such column: ...)"
Ich habe schon mehrmals meine über die for Schleifen ausfgenommenen Werte zum Test ausgelesen und das passt immer. Daher verstehe ich den Fehler hier nicht.
hinzufügenWerteArray soll die einzelnen Werte für die Spalten einer Tabelle einlesen.
columnNames beinhaltet die Namen der Spalten.
Und relName Insert gibt den Tabellennamen an, in den etwas eingefügt werden soll.
Weiß da jemand, wo der wahrscheinlich super einfache Fehler liegt? ^^
Danke schonmal
Java:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.sql.*;
import java.util.ArrayList;
public class Hinzufügen {
private static ArrayList<String> hinzufügenWerteArray = new ArrayList<>();
public static void hinzufügen(ArrayList<String> columnNames, String relNameInsert) {
Connection c = null;
Statement stmt = null;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:test.db");
System.out.println("Opened database successfully");
for (int i = 0; i < columnNames.size(); i++) {
System.out.print("Was möchten Sie als: " + columnNames.get(i) + " hinzufügen?");
String hinzufügenWerte = in.readLine();
hinzufügenWerteArray.add(hinzufügenWerte);
}
stmt = c.createStatement();
String sql = "INSERT INTO " + relNameInsert + " (";
for(int i = 1; i < columnNames.size(); i++) {
sql += columnNames.get(i-1) + ", ";
}
sql += columnNames.get((columnNames.size()-1)) + ")";
sql += " VALUES (";
for (int i = 1; i < columnNames.size(); i++) {
sql += hinzufügenWerteArray.get(i-1) + ", ";
}
sql += hinzufügenWerteArray.get((columnNames.size()-1)) + ")";
stmt.executeQuery(sql);
stmt.close();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
System.out.println("Updated database successfully");
}
}