OOP Java Eingabe in verschiedene Datenbank Tabellen eintragen

singhclgn

Mitglied
Hallo liebe Community,

was Ihr im Voraus wissen müsst:
Ich habe in Java etwas programmiert (habe es versucht möglichst Objektorientiert zu machen), und zwar werden in der main 3 Objekte der Klasse XY erstellt (A, B, C). Dann wird auf eine Methode zugegriffen mit A.methode(); und B.methode(); und entsprechend C.methode();.

Die Methode fordert eine Eingabe vom User und diese Eingabe soll in der Datenbank gespeichert werden, in 3 unterschiedlichen Tabellen.

Also in Tabelle1 soll die Eingabe von A, in Tabelle2 die Eingabe von B und in Tabelle3 die Eingabe von C gespeichert werden.
Das bekomme ich aber nicht hin.

Ich habe versucht das SQL statement in die Methode selbst zu packen, aber da kann ich logischerweise nur schreiben: "INSERT INTO Tabelle1(column1) VALUES (A.Eingabe)"
Dann wird für alle 3 Eingabe der Wert in Tabelle1 gespeichert, das möchte ich aber nicht.

Habt ihr vielleicht eine Lösung dafür?

Mit besten Grüßen!!
 
Dann übergebe doch der Methode die Tabelle (oder Namen) in der es gespeichert werden soll.
Was ich vielleicht noch erwähnen hätte sollen: Ich bin totaler Anfänger. Ich kann nicht wirklich was damit anfangen, ich dachte schon an "Übergabeparamenter" aber bräuchte eine nähere Erläuterung wie ich sowas einsetze, wenn das bitte geht.
 
Hi,

den Übergabeparameter schreibst du in die runden Klammern deiner Funktion,
sodass dieser Wert an den inneren Block der Funktion übergeben wird.
Innerhalb des Funktionsblocks kannst du diese Variable "tableName" dann verwenden.
Bei mehreren Übergabeparametern kannst du diese einfach nur Kommas voneinander trennen.

Beim Aufruf der Funktion .methode(..) musst du nun noch den Tabellen-Namen übergeben in welche du schreiben möchtest.

Hier mal ein Beispiel:

Java:
public class Test {

    public void methode(String tableName){
        System.out.println("insert into " + tableName + " ... ");
    }


    public static void main(String[] args){
        Test t1 = new Test();
        t1.methode("Tabelle1");
      
        Test t2 = new Test();
        t2.methode("Tabelle2");
      
        Test t3 = new Test();
        t3.methode("Tabelle3");
    }

}

... oder als Konstruktor Parameter welcher als Klassenattribut zwischengespeichert wird:
Java:
public class {

    private String tableName;
    public Test(String tableName){
        this.tableName = tableName;
    }

    public void methode(){
        System.out.println("insert into " + this.tableName + " ... ");
    }



    public static void main(String[] args){

        Test t1 = new Test("Tabelle1");
        t1.methode();

        Test t2 = new Test("Tabelle2");
        t2.methode();

        Test t3 = new Test("Tabelle3");
        t3.methode();

    }


}
 
Hi,

den Übergabeparameter schreibst du in die runden Klammern deiner Funktion,
sodass dieser Wert an den inneren Block der Funktion übergeben wird.
Innerhalb des Funktionsblocks kannst du diese Variable "tableName" dann verwenden.
Bei mehreren Übergabeparametern kannst du diese einfach nur Kommas voneinander trennen.

Beim Aufruf der Funktion .methode(..) musst du nun noch den Tabellen-Namen übergeben in welche du schreiben möchtest.

Hier mal ein Beispiel:

Java:
public class Test {

    public void methode(String tableName){
        System.out.println("insert into " + tableName + " ... ");
    }


    public static void main(String[] args){
        Test t1 = new Test();
        t1.methode("Tabelle1");
     
        Test t2 = new Test();
        t2.methode("Tabelle2");
     
        Test t3 = new Test();
        t3.methode("Tabelle3");
    }

}

... oder als Konstruktor Parameter welcher als Klassenattribut zwischengespeichert wird:
Java:
public class {

    private String tableName;
    public Test(String tableName){
        this.tableName = tableName;
    }

    public void methode(){
        System.out.println("insert into " + this.tableName + " ... ");
    }



    public static void main(String[] args){

        Test t1 = new Test("Tabelle1");
        t1.methode();

        Test t2 = new Test("Tabelle2");
        t2.methode();

        Test t3 = new Test("Tabelle3");
        t3.methode();

    }


}
Hey Cool vielen Dank. Das hat das Problem gelöst!!!
 

Zurück
Oben