Rückgabe ob INSERT erfolgreich

chuvak

Aktives Mitglied
Im View übergebe ich dem Model den Befehl, etwas in die Datenbank zu schreiben:
Java:
db.eintragen(tf1.getText(), tf2.getText());
Je nach dem, ob der INSERT erfolgreich war, möchte ich im View gerne eine Meldung ausgeben. Z.B. so:
Java:
meldung.setText("Eintrag erfolgreich");

Wie kann ich im View also gleich überprüfen, ob der INSERT erfolgreich war oder nicht?

Bei PHP gibt es sowas:
HTML:
if(mysql_query(...))
{
   echo "Eintrag erfolgreich";
}
else
{
   echo "Eintrag NICHT erfolgreich";
}
 

Michael...

Top Contributor
Wenn Du für Dein Insert executeUpdate() von PreparedStatement oder Statement nimmst, kriegst Du sogar die Anzahl der eingefügen Datensätze zurück.
 

chuvak

Aktives Mitglied
Ich verwende ja das MVC-Prinzip. Da hat man vom Model keinen Zugriff auf die anderen Komponente (View). Ich darf also beim Einfügen in die Datenbank vom Model nicht auf die View zugreifen und irgendwas übergeben.
Das heißt, ich muss explizit aus dem View überprüfen, ob das Model erfolgreich seine Arbeit getan hat.

Bitte korrigiert mich, wenn ich falsch liege.
 

The_S

Top Contributor
Irgendwas muss das GUI-Event ja abgefangen, interpretiert/konvertiert, und über irgendeinen Weg die Modell-Methode ausgeführt haben. Von daher funktioniert der Weg mit einem Rückgabewert oder einer geworfenen Exception auch Rückwärts, ohne dass das Model seinen Aufrufer kennt.
 

Michael...

Top Contributor
Meine Meinung:
Nach MVC würde auch nicht das Model Änderungen an der Datenbank vornehmen geschweige denn die DB überhaupt kennen.
Änderungen an der Datenbank würde der Controler vornehmen, z.B. nach dem er vom Model über Änderungen der Daten informiert wurde.
 

daNny

Aktives Mitglied
Also: Normalerweise würde ich sagen, dass die View dem Controller sagt, dass der Benutzer etwas ausgeführt hat. Dieser übersetzt die Aktion dann für das Model und ruft die entsprechende Methode dort auf.
Das Model führt die Methode aus, und kann nun unterschiedlich reagieren. Wenn der Controller z.B. sagte: model.getAllData, dann kann es direkt an den Controller per Rückgabewert liefern. Das Model kann aber auch als Observer fungieren, und allen seinen Listenern sagen: Ich habe dies und das getant. Dann müsste man halt Komponenten beim Model als Listener hinzufügen. Beim einen ist das direkt die View, bei den anderen der Controller.
Ich personlich registriere lieber den Controller beim Model, und wenn dieses dann eine Änderung meldet, übersetzt er diese wieder für die View.
Gibt halt mehrere Interpretationsmöglichkeiten...

Java SE Application Design With MVC
Das finde ich ziemlich ausführlich beschrieben
 

Michael...

Top Contributor
Sicherlich könnte man das auch so implementiert, dass nur das Model die Datenbank kennt und Änderungen am Model sofort in die Datenbank zurückgeschrieben werden.
Aber aufgrund der Zeile:
db.eintragen(tf1.getText(), tf2.getText());
würde ich sagen, es wird ja Information aus der View in die Datenbank übertragen, d.h. der Controler ist ja eh involviert.
 

chuvak

Aktives Mitglied
Ich denke, ich habs jetzt.
Das ist in meinem Model:
Java:
privat Boolean erg;

public Boolean eintragen(String mein_name, String mein_inhalt) {
        try {
            befehl.execute("INSERT into anekdot_tb (name, inhalt) values ('" + mein_name + "',  '" + mein_inhalt+ "')");
            erg=true;

        } catch (Exception e) {
            erg=false;
        }
        return erg;
    }
Die Funktion selbst gibt einfach einen Rückgabewert, was vom View verarbeitet wird. Die Lösung ist einfacher, als ich dachte.

Dankeschön an alle Beteiligten! :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C ID-Rückgabe bei INSERT Datenbankprogrammierung 5
H Oracle Resize eines Images in Java und Rückgabe des Image als BLOB an die Oracle Datebank Datenbankprogrammierung 14
OnDemand Select * from bringt keine Rückgabe Datenbankprogrammierung 49
S Oracle PL/SQL Procedure mit Type Rückgabe Datenbankprogrammierung 1
M PostgreSQL ID rückgabe Datenbankprogrammierung 8
T compiler fehler: should be mapped with insert="false" update="false" Datenbankprogrammierung 1
L SQL Datenbank INSERT INTO Datenbankprogrammierung 6
L SQL Datenbank Tabelle insert Datenbankprogrammierung 7
O HOW TO INSERT PRIMARY INTO ANOTHER TABLE AND USE IT AS FOREIGN KEY TO DISPLAY DATA IN A RELATIONSHIP Datenbankprogrammierung 3
G Eine Spalte in xampp als Typ array erstellen - ein array mit "insert" hinzufügen. Datenbankprogrammierung 3
C Problem with INSERT.............ON DUPLICATE KEY Datenbankprogrammierung 3
A MySQL Select und Insert in Java Datenbankprogrammierung 15
S PostgreSQL Bytea INSERT Datenbankprogrammierung 8
W Problem mit Insert in zwei Tabellen Datenbankprogrammierung 8
L INSERT INTO Befehl in Java Datenbankprogrammierung 8
L SQL-Statement INSERT INTO ON DUPLICATE KEY UPDATE funktioniert nicht Datenbankprogrammierung 5
D Insert Methode per Servlet Datenbankprogrammierung 2
D Insert Methode per Servlet Datenbankprogrammierung 0
D SQLite INSERT OR REPLACE INTO macht neuen Eintrag?! Datenbankprogrammierung 2
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
B JPA->fehler beim Insert in die Datenbank Datenbankprogrammierung 3
A Oracle insert Array in DB Datenbankprogrammierung 7
C MySQL JTable in JScrollPane nach insert aktualisieren Datenbankprogrammierung 3
X SQLite Erhalte bei Query INSERT INTO eine NullPointerException Datenbankprogrammierung 10
M JAVA Derby INSERT probleme Datenbankprogrammierung 12
Y MySQL Eclipselink Insert JSF Beispiel gesucht Datenbankprogrammierung 2
T MySQL MySQL - Insert into fügt zwei identische Datensätze ein Datenbankprogrammierung 2
M Derby/JavaDB Derby SQL Insert mit AUTO_INCREMENT, welche ID wurde vergeben? Datenbankprogrammierung 6
D HSQLDB INSERT INTO in einer For Schleife mit selber ID, machbar? Alternative? Datenbankprogrammierung 7
J SQL-Statement Meine insert befehle funktionieren nicht und ich weiß nicht wo der fehler liegt Datenbankprogrammierung 5
M INSERT-Problem = integrity constraint violation: foreign key no parent Datenbankprogrammierung 5
P MySQL INSERT / UPDATE MySQL - perStoredProcedure oder direkt im Code Datenbankprogrammierung 3
M MySQL Insert über mehrere Tabellen Datenbankprogrammierung 7
V HSQLDB Insert in eine Tabelle mit Autoincrement Datenbankprogrammierung 2
B MS SQL: Insert LOB Datenbankprogrammierung 4
M MySQL INSERT will einfach nicht funktionieren Datenbankprogrammierung 9
H HSQLDB insert .... values("test1",select test2 from foo) Datenbankprogrammierung 2
D JDBC insert mit select abfrage Datenbankprogrammierung 5
R vor/nach INSERT mysql-SETS absetzen Datenbankprogrammierung 2
C insert into mit between-Anweisung Datenbankprogrammierung 10
C Derby/JavaDB INSERT auf FOREIGN KEY schlägt fehl Datenbankprogrammierung 2
F Insert into Access Datenbankprogrammierung 3
S Nochmals: ID ermitteln nach Insert Datenbankprogrammierung 2
S ID Wert von Insert über jdbcTemplate.update Datenbankprogrammierung 3
O Viele Verbindungen-Exception bei insert Daten zur MySQL-Datenbank Datenbankprogrammierung 2
B SELECT ja - INSERT nein (MySQL) Datenbankprogrammierung 3
E Derby/JavaDB Keine Reaktion von "insert into" im ActionListener Datenbankprogrammierung 22
A Oracle Unbekannter Fehler bei insert Befehl Datenbankprogrammierung 3
T MySQL Db select * und Insert schlagen fehl Datenbankprogrammierung 2
Kenan89 Insert ohne Auswirkung Datenbankprogrammierung 7
B MySQL myBatis INSERT Datenbankprogrammierung 13
E Access Datenbank mit Insert befüllen Datenbankprogrammierung 5
M Datenbankverbindung zu langsam beim Insert? Datenbankprogrammierung 6
S 2 Tabellen zu einer zusammenführen, INSERT INTO Fehler Datenbankprogrammierung 5
L H2 Auto INC Primary Key & Insert Datenbankprogrammierung 8
R Derby/JavaDB Insert Statement Probleme Datenbankprogrammierung 14
F H2:Wie kann man insert eine Reihe "int" wert als blob in table? Datenbankprogrammierung 12
S MySQL INSERT schlägt nicht fehl, fügt aber auch nichts ein Datenbankprogrammierung 13
S Probleme mit INSERT Befehl Datenbankprogrammierung 11
L MySQL Prepared Statement batch langsamer als bulk insert? Datenbankprogrammierung 10
M Insert in Table mit 250 Feldern Datenbankprogrammierung 2
E [ACCESS ODBC] INSERT INTO Fehler Datenbankprogrammierung 4
A Insert Methode Syntaxfehler Datenbankprogrammierung 2
G INSERT DATE in Oracle-DB Datenbankprogrammierung 11
G ODBC Insert und gleich danach Selects Datenbankprogrammierung 8
Iron Monkey Insert into Spalte ID AUTO_INCREMENT Datenbankprogrammierung 7
D mysql insert - performance/robustheit, "best practice" Datenbankprogrammierung 15
M Hibernate: Insert statt Update Datenbankprogrammierung 8
H Batch Update/Insert Datenbankprogrammierung 4
E Insert oder Update- Prüfung Datenbankprogrammierung 3
K DB2 Insert mit Subselect Fehler Datenbankprogrammierung 2
M Derby insert, ID auslesen Datenbankprogrammierung 3
W Problem bei Insert mit JDBC auf MS-SQL-Server 2005 Datenbankprogrammierung 7
G Frage zum Insert-Statement Datenbankprogrammierung 2
R Probleme mit Insert Datenbankprogrammierung 2
D Problem: Prepared Statement (Insert) funktioniert nicht. Datenbankprogrammierung 3
M Insert Update usw. Datenbankprogrammierung 2
P Insert into mit zwei Datenbanken Datenbankprogrammierung 3
S Insert mit Select Datenbankprogrammierung 6
G INSERT-STATEMENT Datenbankprogrammierung 6
M insert in 2 tabellen Datenbankprogrammierung 7
J Insert auf Access DB funktioniert nicht Datenbankprogrammierung 5
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
V Fehlermeldung beim Insert Datenbankprogrammierung 16
S Insert into , executeupdate oder executequery Datenbankprogrammierung 3
B PrepareStatement "Insert into" fehlermeldung Datenbankprogrammierung 13
D Insert Oracle BLOB Datenbankprogrammierung 1
T ibatis + "generated p-key" nach insert? Datenbankprogrammierung 24
G Herausfinden des Primary Keys nach INSERT-Kommando? Datenbankprogrammierung 4
G INSERT abfragen ob erfolgreich? Datenbankprogrammierung 5
D INSERT String enthält ' wie kann man das Escapen? Datenbankprogrammierung 4
T INSERT-Befehl in Java für Oracle Datenbankprogrammierung 4
Y Hibernate - Datum Insert Datenbankprogrammierung 7
D ODBC Zugriff auf MDB-Datenbank, Insert Into ohne Funktion Datenbankprogrammierung 2
U INSERT INTO von 2 Textfeldern Datenbankprogrammierung 6
D Syntaxfehler in der INSERT INTO Anweisung Datenbankprogrammierung 2
F JAVA & MySQL : INSERT INTO DB ! Datenbankprogrammierung 2
D Problem mit INSERT INTO Datenbankprogrammierung 19
S insert into table Datenbankprogrammierung 8
S Insert in Datenbank Datenbankprogrammierung 15

Ähnliche Java Themen

Neue Themen


Oben