Hallo,
auf Grund dessen, dass ich öfter darauf hingewiesen wurde, statt public Variablen mit getter/setter-Methoden zu arbeiten, hab ich das nun versucht - wie es aussieht mit wenig Erfolg. Es kommen zwar keine Fehlermeldungen mehr, aber wie es aussieht, wird der jdbc-Treiber nicht mehr gefunden, jedenfalls gibt es keine Verbindung mehr zur Datenbank.
Verbindung.java:
Ausschnitt aus Frame.java
Login.java:
auf Grund dessen, dass ich öfter darauf hingewiesen wurde, statt public Variablen mit getter/setter-Methoden zu arbeiten, hab ich das nun versucht - wie es aussieht mit wenig Erfolg. Es kommen zwar keine Fehlermeldungen mehr, aber wie es aussieht, wird der jdbc-Treiber nicht mehr gefunden, jedenfalls gibt es keine Verbindung mehr zur Datenbank.
Verbindung.java:
Code:
package forms; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; public class Verbindung { private Connection cn = null; private PreparedStatement statement = null; private ResultSet rs = null; public Connection getCon(){ return cn; } public void setCon(Connection cn) { this.cn = cn; System.out.println("cn: " + cn); } public PreparedStatement getPrepStat(){ return statement; } public void setPrepStat(PreparedStatement statement){ this.statement = statement; } public ResultSet getRes(){ return rs; } public void setRes(ResultSet rs){ this.rs = rs; } }
Code:
public static void main() { /** * Datenbankverbindung herstellen */ try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Verbindung verb = new Verbindung(); verb.setCon(DriverManager.getConnection("jdbc:sqlserver://localhost; databaseName = Lager; user = sa; password = xxx")); verb.setPrepStat((PreparedStatement)verb.getCon().createStatement()); System.out.println("Verbindung hergestellt."); }catch(Exception ex){ System.out.println("Es kann keine Verbindung hergestellt werden: " + ex); } Login.login(); }
Code:
/** * */ package forms; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.PreparedStatement; import javax.swing.JOptionPane; public class Login { public static void login() { /** * Prüfen, ob Passwort richtig */ Frame.btAnmelden.addActionListener(new ActionListener(){ int count = 0; public void actionPerformed(ActionEvent event){ if(event.getActionCommand().equals("Anmelden")){ //Benutzername String benName = Frame.txtBenName.getText(); benName = benName.trim(); System.out.println(benName); try{ Verbindung verb = new Verbindung(); PreparedStatement statement = (PreparedStatement)verb.getCon().prepareStatement("SELECT nutz_name FROM nutzer WHERE nutz_name = ?"); statement.setString(1, benName); verb.setRes(statement.executeQuery()); if (verb.getRes().next()) { System.out.println("Nutzer"); } else{ JOptionPane.showMessageDialog(null, "Sie sind kein Nutzer dieses Systems!", "Login", JOptionPane.OK_CANCEL_OPTION); Frame.txtBenName.setText(null); } }catch(Exception ex){ System.out.println("Keine Verbindung: " + ex); } //Passwort char[] pass = Frame.txtPass.getPassword(); String passStr = new String(pass); passStr = passStr.trim(); System.out.println(pass); try{ Verbindung verb = new Verbindung(); PreparedStatement stmPass = (PreparedStatement)verb.getCon().prepareStatement("SELECT passwort FROM nutzer WHERE nutz_name = ?"); stmPass.setString(1, benName); verb.setRes(stmPass.executeQuery()); if(verb.getRes().next()){ String passw = verb.getRes().getString(1); passw = passw.trim(); if(count < 2){ if(passw.equals(passStr)){ System.out.println("Login erfolgreich"); Frame.login.setVisible(false); //Frame.start1.setVisible(true); } else{ JOptionPane.showMessageDialog(null, "Sie haben ein falsches Passwort eingegeben!", "Login", JOptionPane.OK_CANCEL_OPTION); count++; System.out.println("Login nicht erfolgreich"); } } else{ JOptionPane.showMessageDialog(null, "Sie haben sich 3 Mal falsch angemeldet!", "Login", JOptionPane.OK_CANCEL_OPTION); System.exit(0); } } }catch(Exception ex){ System.out.println("Keine Verbindung: " + ex); } } } }); Frame.btAbbrechen.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ if(event.getActionCommand().equals("Abbrechen")){ System.exit(0); } } }); } }
Comment