Ich versuche, eine Login-Benutzeroberfläche mit Java zu erstellen. Aber es gibt ein Problem mit meiner SQL-AuthentifizierungAnmeldung mit SQL-Authentifizierung in Java
Hier ist der Code:
public void actionPerformed(ActionEvent e){
if (e.getSource() == Login)
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:MessageStore","sa","12345");
Statement cmd=con.createStatement();
ResultSet rs=cmd.executeQuery("select * from UserList where UserName='"+nameText.getText());
}
Aber es gibt eine Warnung mit „rs“: Der Wert der lokalen Variablen rs nicht verwendet wird
Wie um dieses Problem zu lösen?
Oder gibt es einfacheren Code zum Implementieren der SQL-Authentifizierung?
Danke
Die Datenbankwerte können von ResultSet erhalten müssen Sie durchlaufen. –
Das ist offen für die SQL-Injektion. Sie müssen die Zeichenfolge ausschließen oder eine vorbereitete Anweisung verwenden. Außerdem erfolgt die Warnung, weil Sie keine rs verwenden. Wenn Sie keine rs verwenden, ordnen Sie die Rückgabe nicht rs zu. Sie müssen es jedoch verwenden, weil Sie es verwenden müssen, um entweder zu überprüfen, ob eine Zeile existiert, oder wahrscheinlicher zu prüfen, ob ein Passwort korrekt ist. Sie sollten auch vorsichtig sein, wenn Sie Personen direkt mit Ihrem SQL-Server verbinden möchten. Das kann eine Sicherheitslücke sein, wenn jemand, den Sie nicht erwarten, eine Verbindung zu ihm außerhalb Ihrer Anwendung herstellt. – Corbin