Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich bin gerade dabei JAVA zu lernen und wie bei allen anderen Dingen auch geht das bei mir nach der Learning by do'ing und Try on Error-Methode. (hab natürlich auch ein paar Bücher)
Ich habe mir eine Datenbankanwendung geschrieben (naja mehr gebastelt) bei der Werte von einem JFrame in die DB geschrieben werden sollen. Das ganze Funktioniert auch wenn ich die Daten von Hand in die Textfelder eingebe.
Nun habe ich aber ein Textfeld in das die aktuelle Zeit soll und damit ich nicht von Hand z.B. 17:45:12 schreiben muss habe ich das per Button erledigt.
Wenn ich nun den Datensatz speichere dann fehlt in der DB der Wert für die Zeit. Wenn ich nun aber per Button die Zeit "eingebe" und z.B. nur die letzte sek. ändere dann speichert er den Wert in die DB. [EDIT]Merke gerade das es sogar reicht nur mal kurz mit der Maus in das Textfeld zu klicken nachdem ich per Button die Zeit geholt habe damit er das speichert.[/EDIT]
Also ich verzweifele so langsam. Ich weis nicht welchen Code Ihr benötigt um mir eventuell helfen zu können also poste ich mal den von dem Button.
Java:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Date today = new Date();
String s = DateFormat.getTimeInstance().format(today);
jFormattedTextField2.setText(s);
}
Ich hoffe mir kann diesbezüglich geholfen werden.
Ich benutze NetBeans 6.8 und bin totaler Anfänger.
Tja, ich wüsste auch nicht was ich an Code hier alles veröffentlichen soll damit ein Zusammenhang klar wird. Alles ist ja wohl schlecht somst scrollt man sich hier zu tode.
.setValue() setzt auch keinen String als Wert sondern ein Objekt. Das heisst du müsstest den String durch ein Date Objekt ersetzen. Sorry, hätte ich vielleicht dazu schreiben sollen.
Imho formatierst du dein Datum falsch, und es passt deshalb nicht in die Datenbank.
Was ist das denn für ein Feld in der Datenbank wo du speicherst? Also der Typ... TIMESTAMP, VARCHAR,.. ?
Und schau dir vielleicht mal die Calendar-Klasse an. Im Grunde macht man alles mit ihr....
Zum Formatieren vielleicht SimpleDateFormat....
edit:
Wenn du immer das *aktuelle* Datum mit speichert, kannst du das direkt in der DB angeben, dann musst du garnichts setzten. Nur wenn es auch andere Werte als das aktuelle Datum ist, gehts nicht...
Ok, soviel dazu. Hä?
Mal anderst, wenn ich in die anderen Textfelder etwas schreibe haben diese doch solange wie ich darin schreibe den Focus (Cursor). Den Focus habe ich ja nicht bei dem Zeitfeld weil ich da mit dem Cursor gar nicht rein gehe. Wie schon gesagt, wenn ich mir die Zeit per Button hole und mit der Maus einmal kurz reinklicke und zum nächsten Feld wechsle dann übernimmt er mir den Wert in die DB.
@Thief
Es geht um die aktuelle Zeit. Das Feld in der DB ist vom richtigen Typ da, wenn ein Wert gespeichert wird, dieser korrekt in der DB steht.
Das Problem ist ein anderes. Es wird kein Wert in die DB geschrieben wenn das Textfeld mit der Zeit nicht mindesten einmal kurz den Focus bekommen hat.
Komisch, ist aber so.
sobald was in die Tabelle eingefügt wird, wird dieses Feld mit der aktuellen Zeit ausgefüllt. Dann brauchst du aus deiner GUI auch nichts in die DB schreiben
Btw sollte man das aus der GUI eh nie! Lieber noch eine Schicht einbauen, die Daten von der GUI erhält und diese dann in die Datenbank schreibt.
@srea
Gutes kann doch so einfach sein. DANKE!
Dann kann ich jetzt einen neuen thread öffnen und das nächste Problem zu Tage bringen.
@Thief
Ich bin noch Anfänger und hab mir selbst schon ein riesiges Projekt ausgesucht wo ich alle möglichen Sachen von Java mit einbringen kann. Daher muss ich mir das erstmal so hinbasteln wie es in meinen Büchern oder Tutorials steht.
Ich möchte später auch gern zwei Zeiten einbauen und dann z.B. die Differenz errechnen.