hallo allerseits.
ich möchte einen Datensatz in eine Datenbank schreiben, scheitere jedoch am datum.
Ich hab die imports mal mit angegeben, da ich nicht weiß, ob evtl. da schon der fehler liegt.
Ich hab das util-date importiert, das sql-date nicht.
Code:
Ich habe auch schon verschiedene Varianten aus dem internet probiert, aber die sind entweder deprecated oder fehlerhaft (die spalte datum der Datenbank bleibt leer).
Danke schonmal
ich möchte einen Datensatz in eine Datenbank schreiben, scheitere jedoch am datum.
Ich hab die imports mal mit angegeben, da ich nicht weiß, ob evtl. da schon der fehler liegt.
Ich hab das util-date importiert, das sql-date nicht.
Code:
Java:
import java.awt.Color;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Label;
import java.awt.List;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import userInterfaces.Protokoll;
/**
* This method is called to insert a modification to the DB.
*
* @param tabelle
* @param klasseS
* @param lehrerS
* @param stundeS
* @param datumS
* date as string
* @param raumS
*/
private void insertDB_Modification(String tabelle, String klasseS,
String lehrerS, String stundeS, String datumS, String raumS) {
int klasse = 0, lehrer = 0, stunde = 0, raum = 0;
java.sql.Date sqlDate;
try {
// [...]
// Sring to sqldate
DateFormat formatter = new SimpleDateFormat("yyyy.MM.dd");
try {
java.util.Date datum = formatter.parse(datumS); //string zu util.date
sqlDate = new java.sql.Date(datum.getTime()); //soll eigentlich von util.date zu sql.date ändern
} catch (ParseException e) {
System.out.println("Fehler beim umwandeln von String in Datum!");
e.printStackTrace();
}
//[...]
// eigentliches insert command
PreparedStatement pstmt = con
.prepareStatement("INSERT INTO "
+ tabelle
+ "(Klasse, Lehrer, Stunde, Datum, Raum) VALUES(?, ?, ?, ?, ?)");
pstmt.setInt(1, klasse);
pstmt.setInt(2, lehrer);
pstmt.setInt(3, stunde);
pstmt.setDate(4, sqlDate); //HIER IST ES ROT UNTERSTRICHEN, eclipse möchte hier zu util.DATE casten.
pstmt.setInt(5, raum);
int i = pstmt.executeUpdate();
} catch (SQLException e) {
listStatus.add("Einfügen in die Datenbank nicht erfolgreich!");
e.printStackTrace();
}
}
Ich habe auch schon verschiedene Varianten aus dem internet probiert, aber die sind entweder deprecated oder fehlerhaft (die spalte datum der Datenbank bleibt leer).
Danke schonmal