ich habe hier unten mal meinen Code gepostet, mit dem ich versuche, meine Tabelle "kunde" durch die Informationen, die der User zuvor eingegeben zu erweitern, im Falle dass sie noch nicht in der Tabelle existieren. Allerdings erscheint ständig ein Fehler, den ich nicht ganz nachvollziehen kann. Wenn jemand vielleicht in dem Code einen Fehler findet, dann könnte das mein Problem lösen.
public Aufgaben() {
reader = new BufferedReader(new InputStreamReader(System.in));
scanner = new Scanner(System.in);
conMySQL = new ConnectionToMySQL();
}
public void EnterInformation() throws IOException {
Frage
Monsieur Bate
Hallo,
ich habe hier unten mal meinen Code gepostet, mit dem ich versuche, meine Tabelle "kunde" durch die Informationen, die der User zuvor eingegeben zu erweitern, im Falle dass sie noch nicht in der Tabelle existieren. Allerdings erscheint ständig ein Fehler, den ich nicht ganz nachvollziehen kann. Wenn jemand vielleicht in dem Code einen Fehler findet, dann könnte das mein Problem lösen.
package testaufgabe;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Aufgaben {
private BufferedReader reader;
private Scanner scanner;
private ConnectionToMySQL conMySQL;
private ResultSet result = null;
private Connection connection;
private Statement statement;
public Aufgaben() {
reader = new BufferedReader(new InputStreamReader(System.in));
scanner = new Scanner(System.in);
conMySQL = new ConnectionToMySQL();
}
public void EnterInformation() throws IOException {
// NAMEN abfragen, USER-Eingabe
System.out.println("Gib hier deinen Vor- und Nachnamen ein: \nVorname: ");
String firstName = scanner.nextLine();
System.out.println("\nNachname: ");
String lastName = reader.readLine();
System.out.println("\n" + firstName + " " + lastName);
ExistingName(firstName, lastName);
}
private void ExistingName(String firstName, String lastName) {
List<String> usernames = new ArrayList<String>();
result = conMySQL.executeQuery("SELECT k.vn, k.nn FROM kunde k");
try {
while (result.next()) {
usernames.add(result.getString(1) + " " + result.getString(2));
}
} catch (SQLException ex) {
Logger.getLogger(Aufgaben.class.getName()).log(Level.SEVERE, null, ex);
}
// Überprüft, ob User in der DB existiert
// Fügt neuen Namen in die Tabelle
for (String name : usernames) {
String username = firstName + " " + lastName;
if (!username.equals(name)) {
conMySQL.executeUpdate(firstName, lastName);
}
}
}
}
---------------------------------------------------------------------------------------
Die Klasse hier drüber greift auf die folgende zu:
---------------------------------------------------------------------------------------
package testaufgabe;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.sql.Connection;
public class ConnectionToMySQL {
private static final String MYSQL_JDBC_STRING = "jdbc:mysql://127.0.0.1:3306/pizza_service";
private boolean connected = false;
private Statement stmt;
private Connection connection;
private ResultSet resultSet = null;
private Random random = new Random();
public boolean connect() {
String url = MYSQL_JDBC_STRING + "?zeroDateTimeBehavior=convertToNull";
try {
connection = DriverManager.getConnection(url, "root", "");
stmt = connection.createStatement();
} catch (SQLException ex) {
Logger.getLogger(main.class.getName()).log(Level.WARNING, null, ex);
}
connected = true;
return connected;
}
public void close() {
try {
connection.close();
connected = false;
} catch (SQLException ex) {
Logger.getGlobal().log(Level.SEVERE, null, ex);
}
}
public boolean isConnected() {
return connected;
}
public ResultSet executeQuery(final String query) {
try {
String url = MYSQL_JDBC_STRING + "?zeroDateTimeBehavior=convertToNull";
connection = DriverManager.getConnection(url, "root", "");
stmt = connection.createStatement();
return stmt.executeQuery(query);
} catch (SQLException ex) {
Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
public Statement executeUpdate(String firstName, String lastName) {
try {
String url = MYSQL_JDBC_STRING + "?zeroDateTimeBehavior=convertToNull";
connection = DriverManager.getConnection(url, "root", "");
stmt = connection.createStatement();
stmt.executeUpdate("INSERT INTO kunde VALUES ('" + firstName + "','" + lastName + "')");
} catch (SQLException ex) {
Logger.getLogger(ConnectionToMySQL.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
}
18 Antworten auf diese Frage
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.