RMI: code wird einfach übergangen ?

  • Themenstarter Themenstarter Verzweifelter2K
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
V

Verzweifelter2K

Gast
Hallo,

obwohl der code mit mainWindow = usw. ausgeführt wird der System.out test test darüber wird nie ausgegeben wie kann das sein?

Ich verzweifel fast noch daran, denn der user kann sich immer einloggen auch wenn ich der DB nicht vorhanden :/

Code:
if(e.getSource().equals(loginBT))
		{			
			try
			{
				if( !databaseAccess.sucheBenutzernameRMI(this.getBenutzernameTF(), Integer.valueOf(this.getKontonummerPF())) )
				{	
					JOptionPane.showMessageDialog(this,"Benutzername/Kontonummer ungültig","Error",JOptionPane.ERROR_MESSAGE);	 
				    return;
				}	
				else
				{					
					System.out.println("test test");
															
					this.dispose(); 
					try 
					{		
						
						mainWindow = new MainWindow(getBenutzernameTF(),databaseAccess , getKontonummerPF());
					}
					catch (IOException e1)
					{				
						e1.printStackTrace();
					}				
				}
			}
			
			catch (NumberFormatException e2) {			
				e2.printStackTrace();
			} catch (HeadlessException e2) {			
				e2.printStackTrace();
			} catch (RemoteException e2) {			
				e2.printStackTrace();
			}			
		}
 
ok das mit dem test test geht doch jetzt ...

doch die methode sucheBenutzernameRMI(..) gibt mir immer true zurück ich verstehs net, denn ich gebe benutzernamen im login ein die in der DB gar net drin sind ...

Code:
@Override
	    public boolean sucheBenutzernameRMI(String benutzername , int kontonummer){
	  	  return  database.existiertBenutzername(benutzername , kontonummer);
	    }

Code:
public boolean existiertBenutzername(String benutzername , int kontonummer)
	{
		boolean  status = false;
		
		try 
		{
			status = myStatement.execute("SELECT * From Kundendaten where benutzername = '"+benutzername+"' AND kontonummer = "+kontonummer+" ");
						
		}
		catch (SQLException e)
		{			
			e.printStackTrace();
		}   
		return status;
		
	}

hm vielleicht ist das einfach so, dass mir das Select immer true gibt, denn es wurde ja ausgeführt...
 
Also zuerst solltest du PreparedStatements verwenden. Dann ein executeQuery und prüfen ob genau 1 Row zurückkommt. Falls ja ist der Login korrekt, falls != 1 ist der Login falsch.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben