Hallo liebe Java Freunde,
ich hab folgendes Problem und vielleicht könnt ihr mir weiterhelfen bitte.
Es soll möglich sein, sich ein und auszubuchen in meinem Programm.
Ich speichere momentan auf einer Datenbank SQL einen Timestamp(2016-05-10 08:24:17) und möchte diesen dann in Java gegen die momentane Zeit gegenrechnen.
Und ihn dann via GUI an einem Button ausgeben lassen.
Jedoch komme ich nicht weiter.
Vielen Dank im Voraus.
Lg Susi
ich hab folgendes Problem und vielleicht könnt ihr mir weiterhelfen bitte.
Es soll möglich sein, sich ein und auszubuchen in meinem Programm.
Ich speichere momentan auf einer Datenbank SQL einen Timestamp(2016-05-10 08:24:17) und möchte diesen dann in Java gegen die momentane Zeit gegenrechnen.
Und ihn dann via GUI an einem Button ausgeben lassen.
Jedoch komme ich nicht weiter.
Vielen Dank im Voraus.
Lg Susi
Java:
public class Login {
public static boolean authenticate(String username, String password) throws SQLException {
int dBUserID = 0;
String dBpassword = "";
String dBusername = "";
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
con = DBConnection.getDBConnection();
ps = con.prepareStatement("SELECT * FROM Userdates WHERE username = ? and password = ?");
// (2) create a java timestamp object that represents the current
// time (i.e., a "current timestamp")
Calendar calendar = Calendar.getInstance();
java.sql.Timestamp ourJavaTimestampObject = new java.sql.Timestamp(calendar.getTime().getTime());
// (4) execute the sql timestamp insert statement
ps.setString(1, username);
ps.setString(2, password);
rs = ps.executeQuery();
if (rs.next()) {
dBUserID = rs.getInt("UserID");
dBusername = rs.getString("username");
dBpassword = rs.getString("password");
}
// (3) create our java timestamp insert statement
String sqlTimestampInsert = "INSERT INTO Timedates (StartTime,UserID) VALUES (?,?)";
PreparedStatement ps2 = con.prepareStatement(sqlTimestampInsert);
ps2.setTimestamp(1, ourJavaTimestampObject);
ps2.setInt(2,dBUserID);
ps2.execute();
} catch (Exception e) {
e.printStackTrace();
}
if
(username.equals(dBusername) && password.equals(dBpassword)) {
return true;
}
return false;
}
}
Java:
public class LoginDialog extends JDialog {
/**
*
*/
private static final long serialVersionUID = 1L;
private JTextField tfUsername;
private JPasswordField pfPassword;
private JLabel lbUsername;
private JLabel lbPassword;
private JButton btnLogin;
private JButton btnCancel;
//private JButton btnLockout;
// private JButton btnCheckin;
// private JButton btnCheckout;
private boolean succeeded;
public LoginDialog(Frame parent) {
super(parent, "Login", true);
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints cs = new GridBagConstraints();
cs.fill = GridBagConstraints.HORIZONTAL;
lbUsername = new JLabel("Benutzername: ");
cs.gridx = 0;
cs.gridy = 0;
cs.gridwidth = 1;
panel.add(lbUsername, cs);
tfUsername = new JTextField(20);
cs.gridx = 1;
cs.gridy = 0;
cs.gridwidth = 2;
panel.add(tfUsername, cs);
lbPassword = new JLabel("Passwort: ");
cs.gridx = 0;
cs.gridy = 1;
cs.gridwidth = 1;
panel.add(lbPassword, cs);
pfPassword = new JPasswordField(20);
cs.gridx = 1;
cs.gridy = 1;
cs.gridwidth = 2;
panel.add(pfPassword, cs);
panel.setBorder(new LineBorder(Color.BLUE));
btnLogin = new JButton("Anmelden");
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
if (Login.authenticate(getUsername(), getPassword())) {
JOptionPane.showMessageDialog(LoginDialog.this,
"Hallo " + getUsername() + "! Sie haben sich Erfolgreich angemeldet.", "Anmeldevorgang",
JOptionPane.INFORMATION_MESSAGE);
succeeded = true;
dispose();
} else {
JOptionPane.showMessageDialog(LoginDialog.this, "Falscher Benutzername oder Passwort",
"Anmeldevorgang", JOptionPane.ERROR_MESSAGE);
tfUsername.setText("");
pfPassword.setText("");
succeeded = false;
}
} catch (HeadlessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
btnCancel = new JButton("Cancel");
btnCancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();
}
});
JPanel bp = new JPanel();
bp.add(btnLogin);
bp.add(btnCancel);
getContentPane().add(bp, BorderLayout.NORTH);
getContentPane().add(panel, BorderLayout.CENTER);
getContentPane().add(bp, BorderLayout.PAGE_END);
pack();
setResizable(false);
setLocationRelativeTo(parent);
}
public String getUsername() {
return tfUsername.getText().trim();
}
public String getPassword() {
return new String(pfPassword.getPassword());
}
public boolean isSucceeded() {
return succeeded;
}
}
Java:
public class Main {
public static void main(String[] args) {
final JButton btnLockout = new JButton("Ausloggen");
final JButton btnLastdays = new JButton("Letzten Tage");
final JButton btnCheckout = new JButton("Ausbuchen");
final JButton btnCheckin = new JButton("Einbuchen");
final JButton btnLogin = new JButton("Anmelden!");
final JFrame frame = new JFrame("Check in Time");
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
LoginDialog loginDlg = new LoginDialog(frame);
loginDlg.setVisible(true);
if (loginDlg.isSucceeded()) {
btnLogin.setText("Wechseln");
}
}
});
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 180);
frame.setLayout(new FlowLayout());
frame.getContentPane().add(btnLogin);
frame.setVisible(true);
frame.getContentPane().add(btnLockout, BorderLayout.CENTER);
frame.getContentPane().add(btnCheckin, BorderLayout.CENTER);
frame.getContentPane().add(btnCheckout, BorderLayout.CENTER);
frame.getContentPane().add(btnLastdays, BorderLayout.CENTER);
btnCheckin.setPreferredSize(new Dimension(130, 25));
btnCheckout.setPreferredSize(new Dimension(130, 25));
btnLogin.setPreferredSize(new Dimension(130, 25));
btnLastdays.setPreferredSize(new Dimension(130, 25));
btnLockout.setPreferredSize(new Dimension(130, 25));
}
}