Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > Java > Allgemeine Java-Programmierung > Java schreibt nicht in meine Access DB
Antwort
 
Themen-Optionen
Alt 22.09.2006, 23:42   Nach oben    #1
Benutzer
 
Registriert seit: 15.05.2006
Beiträge: 40
Standard Java schreibt nicht in meine Access DB

hi könnt ihr mir erklären wo mein fehler ist? ich habe auch ein verbindung mit der DB und so. kann das sein das die sql frage falsch ist oder so?

die id wird von einer anderen klasse geliefert! ich übergebe sie in dieser klasse wo die methode private void insertDataSet() ist.

wäre cool wenn ihr mir helfen könnt!

PHP-Code:
private void insertDataSet()
  {      

    try
    {
      
Statement statement connection.createStatement ();
      
String question;
      
String answer1;
      
String answer2;
      
String answer3;
      
String answer4;
      
String answer;
      
statusL.setText("OKAY!");
      
      
question ta1.getText();
      
answer1 t1.getText();
      
answer2 t2.getText();
      
answer3 t3.getText();
      
answer4 t4.getText();
      
answer t5.getText();
      
statusL.setText("OKAY1!");
      

      
String updateString ="UPDATE ask SET question = '" question "', answer1 = '" answer1 "', answer2 = '" answer2 "', answer3 = '" answer3 "', answer2 = '" answer4 "', answer  = '" answer "' WHERE question.ID = '" id "' ;";
      
statusL.setText("OKAY2!");
      
      
//String updateString = "INSERT INTO question (question, answer1, answer2, answer3, answer4, answer) VALUES('" +question+ "','" +answer1+ "') WHERE question.ID = '" + id + "';";

      
int rowOfInsertion statement.executeUpdate(updateString);
      
      
statusL.setText("OKAY3!");
    }
    catch(
Exception exception)
    {}
  } 
asenodin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.09.2006, 00:06   Nach oben    #2
Mensch
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
Standard

Welcher geht denn nun nicht?
Der UPDATE oder der INSERT?
Weil ein INSERT mit WHERE ist definitiv fehlerhaft.
Und im UPDATE hast du 2 mal answer2...

Ansonsten möchte ich dir noch einen Tipp geben: Mehrere identische Felder wie deine 5 "Answer"-Spalten sollte man eigentlich auslagern in eine Tabelle. Vielleicht nochmal dein Wissen über Datenbanklayout und Normalisierung vertiefen. Aber das nur als Tipp am Rande.
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.09.2006, 15:20   Nach oben    #3
Benutzer
 
Registriert seit: 15.05.2006
Beiträge: 40
Standard

ähm ja das hat auch woanders funktioniert.
danke wegen dem tipp von answer2 aber das geht immer noch nicht! insert ist kommentiert!

er bearbeitet nur bis okay2. okay3 führt er gar nicht mehr aus! irgendwas ist in der sql anweisung falsch oder

PHP-Code:
int rowOfInsertion statement.executeUpdate(updateString); 
aber es kann nicht sein!
asenodin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.09.2006, 15:39   Nach oben    #4
Mensch
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
Standard

Gib dir doch mal den SQL-String aus und teste ihn selbst in Access.
Damit gehst du zumindest sicher, dass der SQL-Befehl korrekt ist. Alles andere wäre dann ein reines Methodenproblem von executeUpdate()...
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.09.2006, 15:42   Nach oben    #5
Benutzer
 
Registriert seit: 15.05.2006
Beiträge: 40
Standard

der sql befehl ist correkt! da ich es von access assi kopiert habe. habe nur die ganzen veriabln ersetzt!

ich weiß echt nicht mehr weiter viele von meinen freunden konnten mir auch nicht helfen!

also ihr seid meine letzte hoffnung!
asenodin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.09.2006, 15:47   Nach oben    #6
Mensch
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
Standard

na dann zeig uns mal den Quellcode von statement.executeUpdate().
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.09.2006, 15:49   Nach oben    #7
Benutzer
 
Registriert seit: 15.05.2006
Beiträge: 40
Standard

heee????? statement ist eine klasse und executeUpdate ist eine methode davon alles wird von JAVA bereitgestellt!
asenodin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.09.2006, 18:24   Nach oben    #8
Mensch
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
Standard

dann sollte der doch auch exceptions schmeissen oder? vielleicht solltest du einfach mal in deinem catchblog mit der exception arbeiten...
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.09.2006, 18:31   Nach oben    #9
Benutzer
 
Registriert seit: 15.05.2006
Beiträge: 40
Standard

habe ich noch nie gemacht wie geht das denn???
asenodin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.09.2006, 19:49   Nach oben    #10
Benutzer
 
Registriert seit: 15.05.2006
Beiträge: 40
Standard

naja okay hat sich erledigt ich weiß auch nicht warum, aber jetzt funtzt das auf einmal!
asenodin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 24.09.2006, 18:00   Nach oben    #11
Erfahrener Benutzer
 
Benutzerbild von xardias
 
Registriert seit: 02.03.2006
Ort: Aachen
Beiträge: 126
Standard

Für die Zukunft:
Du hast folgendes unten in deinem Code stehen:
Code:
    catch(Exception exception)
    {}
Mit Catch "fängst" du Exceptions. Exeptions sind wie der name schon sagt Ausnahmen. Also Fehler bei denen das Programm nicht wie erwartet laufen kann. Wenn executeUpdate merkt dass dein SQL query falsch ist, so "wirft" es diese Exception (Immerhin kann das programm ja nicht mit einem kaputten query weiter laufen) und irgendwer (also du!) muss sie auffangen um zu schauen was man alternativ machen könnte. D.h. java springt in den catch() block statt deinen code weiter auszuführen.
Und was macht dein code dort? Garnix, d.h. du wirst nicht erfahren woher der Fehler kommt und was der Fehler ist. Die einfachste möglichkeit wird es sein die Exception in die konsole auszugeben, wo dann alle wichtigen informationen ausgegeben werden:
Code:
    catch(Exception exception)
    {
exception.printStackTrace();
}
Damit gibst du eine Fehlermeldung inklusive genauer beschreibung wo der Fehler aufgetreten ist (der sog. stack trace) aus.
xardias ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[JAVA] Wie man aus Java mit einem PHP-Script kommuniziert sparrow Tutorials 0 25.03.2006 22:24
Access Anbindung unter Linux mit Java ? kampet Datenbanken 5 25.04.2005 08:43
[BUCH] Java ist auch eine Insel kampet Literatur 5 22.02.2005 14:40
Zwist um Java als Open Source kampet Nachrichten 0 05.07.2004 03:37


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:16 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44