Brauche Hilfe bei meinem Programm !

Jeff123

Mitglied
Hallo Freunde,

Ich hab ein Problem bei meinem Programm wo ich überhaupt nicht mehr weiter komme , es geht darum ein java Programm zu entwickeln welches eine Verbindung zu "phpMyAdmin" erstellt und dabei in meiner vorhandenen Tabelle(Students) die Daten Sätze einträgt


Für die Verbindung benutze ich MAMP, die auch soweit steht da ich die Daten Sätze abfragen kann.

Das Programm läuft...

Ich kann die komplette Tabelle abfragen(Students).

Aber ich kann nichts einfügen. Woran liegt das ?




32407855ko.jpg


Java:
package jdbcstudent;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;


public class JdbcStudent {
  
  
  

    public static void main(String[] args) {
      
        PreparedStatement preparedStatement = null;
        ResultSet rs;
      
        String read = "Select * FROM students";
      
        try (Connection conn = dbUtil.getConnection();
                PreparedStatement pr = conn.prepareStatement(read);
                ){
            rs = pr.executeQuery();
          
            while(rs.next() ) {
              
            System.out.println(rs.getInt("id") +" "+ rs.getString("first_name") +" "+ rs.getString("last_name") +" "+ rs.getDate("dob"));
              
            }
        }catch (SQLException e){
            e.printStackTrace();
        }
 
        Scanner input = new Scanner(System.in);
      
      
        System.out.println("Do you want to add new Students ?");
        String ans = input.nextLine();
      
        if(ans.equalsIgnoreCase("yes"))
        {
            System.out.println("Enter ID: ");
            String id = input.nextLine();
          
            System.out.println("Enter First Name: ");
            String first_name = input.nextLine();
          
            System.out.println("Enter Last Name: ");
            String last_name = input.nextLine();
          
            System.out.println("Enter your Date of Birth: ");
            String dob = input.nextLine();
          
            addStudents create = new addStudents();
            create.add(id, first_name, last_name, dob);
          
        }else{
            System.exit(1);
        }
      
    }
  
  
}

Java:
package jdbcstudent;

import java.sql.Connection;
import java.sql.PreparedStatement;

public class addStudents {
  
    public addStudents() {
      
    }
  
    public void add(String id, String first_name, String last_name, String dob){
      
        String sql = "INSERT INTO `students` (`id`, `first_name`, `last_name`, `dob`)  VALUES (? , ? , ? , ?) ";
      
        try (Connection conn = dbUtil.getConnection();
                PreparedStatement stmt  = conn.prepareStatement(dob);
                ){
            stmt.setString(1, id);
            stmt.setString(2, first_name);
            stmt.setString(3, last_name);
            stmt.setString(4, dob);
          
          
            stmt.execute();
          
          
        }catch (Exception e){
          
        }
      
    }
          
  
}

Java:
package jdbcstudent;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class dbUtil
{
    private static final String USERNAME = "****";
    private static final String PASSWORD = "****";
    private static final String CONN = "jdbc:mysql://localhost/school"; // oder login anstatt dem school
    private static final String SCONN = "jdbc:sqlite:login.sqlite";
  
  
  



  

  
    public static Connection getConnection() throws SQLException{
      
        return DriverManager.getConnection(CONN, USERNAME, PASSWORD);
    }
}
 

Dompteur

Top Contributor
In der Klasse "addStudents", Methode "add" solltest du die Exception auf keinen Fall verschlucken, sondern zumindest ausgeben.
Die Fehlermeldung sollte genau den Hinweis enthalten, den du brauchst.

Übrigens ist es üblich, Klassennamen mit großen Buchstaben anfangen zu lassen.
 

Jeff123

Mitglied
Danke für deine Antwort,

das Programm gibt mir keine Fehlermeldung aus, es läuft fehlerlos.

Ich bekomme meine Tabelle ausgegeben und kann auch anschließend einen neuen Studenten eingeben, aber dieser wird nicht übernommen in meiner Datenbank, ich weiß auch nicht wohin die Eingabe verschwindet.


Bin noch ein blutiger Anfänger ;)
 

Dukel

Top Contributor
Btw. (damit das korrekt gelernt wird) PhpMyAdmin ist eine Adminoberfläche für MySql. D.h. dein Java Programm versucht eine Verbindung zu MySql aufzubauen.
 

Jeff123

Mitglied
Ich habe versucht den "catch-Block" so zu verändern das ich irgendwie eine Ausgabe dazwischen schalten kann, bis jetzt aber erfolglos, und andere Ideen habe ich auch keine mehr.


Meine zweite Idee war das es an den Zugewiesenen rechten für meinen Benutzer liegen könnte in "phpMyAdmin".
Aber auch hier sind alle rechte komplett verteilt.
 

Dompteur

Top Contributor
Ich habe versucht den "catch-Block" so zu verändern das ich irgendwie eine Ausgabe dazwischen schalten kann, bis jetzt aber erfolglos, und andere Ideen habe ich auch keine mehr.
Woran scheiterst du da ?
Es reicht, wenn du einfach "e.printStackTrace();" in the catch-Block reinschreibst. So wie du es in der Klasse "JdbcStudent" ja schon hast.

Es ist übrigens klar, dass du keine Fehlermeldung siehst. Der leere catch-Block verschluckt alles.

Bist du dir sicher, dass du im INSERT-Statement die Namen unter Apostroph setzen musst ?
 

Jeff123

Mitglied
Es reicht, wenn du einfach "e.printStackTrace();" in the catch-Block reinschreibst. So wie du es in der Klasse "JdbcStudent" ja schon hast

Nach dem ich die Veränderungen in meinem Code hinzugefügt habe , bekomme ich diese Fehlermeldung, mit der ich kaum etwas anfangen kann.
32417285in.jpg



Bist du dir sicher, dass du im INSERT-Statement die Namen unter Apostroph setzen musst ?

Ich hab es auch ohne Apostroph versucht, aber ohne Erfolg.
 

Dompteur

Top Contributor
Hast du schon versucht in der Anweisung
Java:
PreparedStatement stmt  = conn.prepareStatement(dob);
statt dem "dob" die Variable "sql" einzusetzen ?
 

Meniskusschaden

Top Contributor

mrBrown

Super-Moderator
Mitarbeiter
Poste doch den Code und den Stacktrace direkt, anstatt Screenshots davon zu.


In deinem sql-String fehlen ein paar `, kann aber auch an der Auflösung des Bildes liege...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B MySQL Umkreissuche - brauche Hilfe bei SQL Statement Datenbankprogrammierung 12
H Brauche Hilfe beim Mappen von 3 Tabellen a 1:n mit hbm.xml. Datenbankprogrammierung 34
F Brauche dringend Hilfe Java-Access Connection Datenbankprogrammierung 3
J brauche HILFE: java.lang.NoSuchMethodError: calculateSecurityWarningPosition Datenbankprogrammierung 2
D Brauche hilfe bei Delete mit Datum! Datenbankprogrammierung 4
D brauche mal kurz hilfe bei einem select-stmt Datenbankprogrammierung 6
B Brauche Tipps für Datenbankdesign Datenbankprogrammierung 8
S ich brauche tipps für JDBC Datenbankprogrammierung 4
D Welches System brauche ich? Datenbankprogrammierung 6
Edin JDBC Hilfe Datenbankprogrammierung 2
I Hilfe zu Multidimensionalen Datenbanken Datenbankprogrammierung 1
M SQL-Statement Hilfe bei SQL-Abfrage Datenbankprogrammierung 2
J Java Eclipse Hilfe beim Programmieren Datenbankprogrammierung 7
N Hilfe bei Projekt Datenbankprogrammierung 4
MrSnake Hilfe bei erstellen einer DB Datenbankprogrammierung 12
U PostgreSQL Hilfe bei Statementsyntax Datenbankprogrammierung 2
M SQL UPDATE richtig anwenden BITTE um HILFE Datenbankprogrammierung 3
M Hilfe bei grundlegendem Ansatz Datenbankprogrammierung 2
M Bitte um Hilfe bei Wahl einer Datenbank Datenbankprogrammierung 3
M hilfe zur einer Exception Datenbankprogrammierung 2
G Hilfe um String an Datenbank zu schicken Datenbankprogrammierung 3
E Dringend Hilfe Firebird/Jaybird verbindet nicht; im jar file Datenbankprogrammierung 4
S Benötige Hilfe mit DB Treiber Datenbankprogrammierung 4
P Benötige etwas Hilfe bei Datanbankabfrage über Java Datenbankprogrammierung 3
M Hilfe -Access mag sein Replace nciht merh Datenbankprogrammierung 2
G Hilfe: Werte sind alle x2 (oder mehr) nach JOIN Datenbankprogrammierung 13
M Hilfe - keine Connection zur DB Datenbankprogrammierung 4
M ORA-00911: invalid character . Hilfe! Datenbankprogrammierung 10
N Hilfe ! Mein Applet bekommt ein Access-Denied von MySQL Datenbankprogrammierung 7
I Hilfe bei umstellung. Datenbankprogrammierung 2
K Hilfe bei SQL-abfrage Datenbankprogrammierung 7
R Hilfe! Negative Zeitangabe Datenbankprogrammierung 2
I hilfe! java.sql.SQLException Datenbankprogrammierung 7
B Hilfe! Problem bei Verbindung über JDBC/ODBC Datenbankprogrammierung 4
T HILFE: MySQL und tomcat-5.5.4 == Name jdbc is not bound in t Datenbankprogrammierung 3
R Hilfe mit Umlauten und MSSQL Datenbankprogrammierung 10
G Hilfe bei Query für Spaltenansicht. Datenbankprogrammierung 20
6 Hilfe beim Einstieg Datenbankprogrammierung 15
M hilfe, wo bekomme ich Lektüre her? Datenbankprogrammierung 4
P SQL-Statement Bei meinem Statement ist ein Fehler? Datenbankprogrammierung 2
P Probleme mit meinem 1. Hibernate Beispiel Datenbankprogrammierung 3
P Wie übergebe ich einen NULL Wert in meinem Java-Programm? Datenbankprogrammierung 7

Ähnliche Java Themen

Neue Themen


Oben