Hallo zusammen
danke zahlreichen Hilfen bin ich sehr weit mit meinem Programm gekommen, vielen dank erstmal.
Mein Problem diesmal liegt daran das ich eine Insert Funktion wollte in pervasive psql.
Bei Funktion Abziele funktioniert die Insert Funktion aber in der Neue Mitarbeiter Anlegen funktioniert es nicht.
[CODE lang="java" title="Insert Funktion"] public boolean createUser(String[] userData) {
for (int i = 0; i < userData.length; i++) {
if (userData.contentEquals("")) {
System.out.println("systeme.MySQLConnection1.createUser(i)"+i);
System.out.println("User wurde nicht angelegt!");
return false;
}
}
Erstelle_verbindung();
try {
PreparedStatement stmt = con.prepareStatement("INSERT INTO Mitarbeiter(Name, Nachname, Adresse, Hausnummer, Ort, PLZ, Level, Telefon, Email) VALUES "
+ "('" + userData[0] //Name
+ "','" + userData[1] //Nachname
+ "','" + userData[2] //Adresse
+ "','" + Integer.parseInt(userData[3]) //Hausnummer
+ "','" + userData[4] //Ort
+ "','" + Integer.parseInt(userData[5]) //PLZ
+ "','" + Integer.parseInt(userData[6]) //LEvel
+ "','" + Integer.parseInt(userData[7]) //Telefonnummer
+ "','" + userData[8] + "')");
stmt.execute(); //Email
PreparedStatement stmt2 = con.prepareStatement("SELECT id FROM Mitarbeiter WHERE Name = '" + userData[0] + "' AND Nachname = '" + userData[1] + "'");
ResultSet rs = stmt2.executeQuery();
while (rs.next()) {
Integer tempId = rs.getInt(1);
String output = "";
int maxChars = 4;
if (userData[0].length() > maxChars) {
output = userData[0].substring(0, maxChars);
} else {
output = userData[0];
}
String tempLoginName = output + tempId;
System.out.println("login Name : " + tempLoginName);
String query = "update Mitarbeiter set login_name = ?,login_password = ? where id = ?";
PreparedStatement preparedStmt = con.prepareStatement(query);
preparedStmt.setString(1, tempLoginName);
preparedStmt.setString(2, sha256("123456"));
preparedStmt.setInt(3, tempId);
preparedStmt.executeUpdate();
return true;
}
} catch (Exception ex) {
System.out.println("Verbindung konnte nicht hergestellt werden!");
ex.printStackTrace();
return false;
}[/CODE]
hier extra die Insert Funktion von Aboziel die funktioniert
[CODE lang="java" title="Aboziel"] public void speichern(String[] Aboziel) {
Connection con;
con = mySQL.Aboziel_Erstelle_verbindung();
try {
PreparedStatement stmt = con.prepareStatement("INSERT INTO Aboziele(FirmenID, HeftID, Ausgabe, Jahr, Aboziel, Heftname) "
+ "VALUES"
+ "('" + Integer.parseInt(Aboziel[0]) //FIrmenID
+ "','" + Integer.parseInt(Aboziel[2]) //HeftID
+ "','" + Integer.parseInt(Aboziel[3]) //Ausgabenummer
+ "','" + Integer.parseInt(Aboziel[4]) //Jahr
+ "','" + Integer.parseInt(Aboziel[5]) //Aboziel
+ "','" + Aboziel[1] + "')" //Heftname
+ "Select * Frome abos where FirmenID ='" + Integer.parseInt(Aboziel[0])
+ "And Heftname='" + Aboziel[1]
+ "And Ausgabe='" + Integer.parseInt(Aboziel[3])
+ "AND Jahr ='" + Integer.parseInt(Aboziel[4])
+ "ON Duplicate KEY UPDATE "
+ "ABOZiel=" + Integer.parseInt(Aboziel[5]));
stmt.executeUpdate();
mySQL.schliesse_verbindung();
} catch (Exception e) {
System.out.println("firmen : Konnte keine Verbindung hergestellt werden");
e.printStackTrace();
}
}[/CODE]
kleine Bemerkung, auf der MySQL datenbankhat es ohne Probleme Funktioniert.
danke zahlreichen Hilfen bin ich sehr weit mit meinem Programm gekommen, vielen dank erstmal.
Mein Problem diesmal liegt daran das ich eine Insert Funktion wollte in pervasive psql.
Bei Funktion Abziele funktioniert die Insert Funktion aber in der Neue Mitarbeiter Anlegen funktioniert es nicht.
Java:
btn_newUser = new JButton("Mitarbeiter anlegen");
btn_newUser.setBounds(370, 100, 150, 20);
btn_newUser.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
System.out.println("Mitarbeiter anlegen");
String[] allInputs = {
txf_Vorname.getText(),
txf_Nachname.getText(),
txf_Adresse.getText(),
txf_Nr.getText(),
txf_Ort.getText(),
txf_PLZ.getText(),
"" + cob_level.getSelectedIndex() * 2,
txf_Telefon.getText(),
txf_Email.getText(),};
MySQLConnection1 mySQL = new MySQLConnection1();
if (mySQL.createUser(allInputs)) {
System.out.println("User wurde angelegt!");
setVisible(false);
JOptionPane.showMessageDialog(null, "User wurde angelegt!");
} else {
System.out.println(".actionPerformed(fehler)");
System.out.println("User wurde nicht angelegt!");
JOptionPane.showMessageDialog(null, "User wurde nicht angelegt!");
}
}
});
this.add(btn_newUser);
}
[CODE lang="java" title="Insert Funktion"] public boolean createUser(String[] userData) {
for (int i = 0; i < userData.length; i++) {
if (userData.contentEquals("")) {
System.out.println("systeme.MySQLConnection1.createUser(i)"+i);
System.out.println("User wurde nicht angelegt!");
return false;
}
}
Erstelle_verbindung();
try {
PreparedStatement stmt = con.prepareStatement("INSERT INTO Mitarbeiter(Name, Nachname, Adresse, Hausnummer, Ort, PLZ, Level, Telefon, Email) VALUES "
+ "('" + userData[0] //Name
+ "','" + userData[1] //Nachname
+ "','" + userData[2] //Adresse
+ "','" + Integer.parseInt(userData[3]) //Hausnummer
+ "','" + userData[4] //Ort
+ "','" + Integer.parseInt(userData[5]) //PLZ
+ "','" + Integer.parseInt(userData[6]) //LEvel
+ "','" + Integer.parseInt(userData[7]) //Telefonnummer
+ "','" + userData[8] + "')");
stmt.execute(); //Email
PreparedStatement stmt2 = con.prepareStatement("SELECT id FROM Mitarbeiter WHERE Name = '" + userData[0] + "' AND Nachname = '" + userData[1] + "'");
ResultSet rs = stmt2.executeQuery();
while (rs.next()) {
Integer tempId = rs.getInt(1);
String output = "";
int maxChars = 4;
if (userData[0].length() > maxChars) {
output = userData[0].substring(0, maxChars);
} else {
output = userData[0];
}
String tempLoginName = output + tempId;
System.out.println("login Name : " + tempLoginName);
String query = "update Mitarbeiter set login_name = ?,login_password = ? where id = ?";
PreparedStatement preparedStmt = con.prepareStatement(query);
preparedStmt.setString(1, tempLoginName);
preparedStmt.setString(2, sha256("123456"));
preparedStmt.setInt(3, tempId);
preparedStmt.executeUpdate();
return true;
}
} catch (Exception ex) {
System.out.println("Verbindung konnte nicht hergestellt werden!");
ex.printStackTrace();
return false;
}[/CODE]
hier extra die Insert Funktion von Aboziel die funktioniert
[CODE lang="java" title="Aboziel"] public void speichern(String[] Aboziel) {
Connection con;
con = mySQL.Aboziel_Erstelle_verbindung();
try {
PreparedStatement stmt = con.prepareStatement("INSERT INTO Aboziele(FirmenID, HeftID, Ausgabe, Jahr, Aboziel, Heftname) "
+ "VALUES"
+ "('" + Integer.parseInt(Aboziel[0]) //FIrmenID
+ "','" + Integer.parseInt(Aboziel[2]) //HeftID
+ "','" + Integer.parseInt(Aboziel[3]) //Ausgabenummer
+ "','" + Integer.parseInt(Aboziel[4]) //Jahr
+ "','" + Integer.parseInt(Aboziel[5]) //Aboziel
+ "','" + Aboziel[1] + "')" //Heftname
+ "Select * Frome abos where FirmenID ='" + Integer.parseInt(Aboziel[0])
+ "And Heftname='" + Aboziel[1]
+ "And Ausgabe='" + Integer.parseInt(Aboziel[3])
+ "AND Jahr ='" + Integer.parseInt(Aboziel[4])
+ "ON Duplicate KEY UPDATE "
+ "ABOZiel=" + Integer.parseInt(Aboziel[5]));
stmt.executeUpdate();
mySQL.schliesse_verbindung();
} catch (Exception e) {
System.out.println("firmen : Konnte keine Verbindung hergestellt werden");
e.printStackTrace();
}
}[/CODE]
kleine Bemerkung, auf der MySQL datenbankhat es ohne Probleme Funktioniert.