Hallo liebe User,
ich muss eine Datenbankabfrage programmieren, in der nach dem Benutzer aus der Tabelle DB_User gefragt wird und das Kennwort aus der Tabelle DB_User abgefragt wird, und falls das Kennwort stimmt, dann soll aus der Tabelle Pflanzen eine Pflanze selektiert und deren Daten, wie Name, Farbe usw. ausgegeben werden.
Das Problem ist, das ich die Fehlermeldung:
Exception in thread "main" java.sql.SQLException: Geschlossene Ergebnismenge: next
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java)
at Testen.main(Testen.java:43)
bekomme aber nicht weiß, was er von mir will.
Kann mir jemand weiterhelfen?
Liebe Grüße
Cluster
Vollständigkeitshalber hier der Code:
ich muss eine Datenbankabfrage programmieren, in der nach dem Benutzer aus der Tabelle DB_User gefragt wird und das Kennwort aus der Tabelle DB_User abgefragt wird, und falls das Kennwort stimmt, dann soll aus der Tabelle Pflanzen eine Pflanze selektiert und deren Daten, wie Name, Farbe usw. ausgegeben werden.
Das Problem ist, das ich die Fehlermeldung:
Exception in thread "main" java.sql.SQLException: Geschlossene Ergebnismenge: next
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java)
at Testen.main(Testen.java:43)
bekomme aber nicht weiß, was er von mir will.
Kann mir jemand weiterhelfen?
Liebe Grüße
Cluster
Vollständigkeitshalber hier der Code:
Code:
import java.sql.*;
import javax.swing.JOptionPane;
public class Testen
{
public static void main(String[] args) throws SQLException
//Verbindung zur Datenbank herstellen
{DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver() );
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@Computername:1521:XE", "Benutzer", "Kennwort");
Statement stmt = con.createStatement();
boolean zugriff = false;
//Ende
// Fragt den Benutzer nach einem String.
String inputName = JOptionPane.showInputDialog("Bitte Name eingeben");
String inputPasswort = JOptionPane.showInputDialog("Bitte Passwort eingeben");
String inputPflanzenname = JOptionPane.showInputDialog("Bitte Pflanzennamen eingeben");
//Ende
//SQL Abfrage
ResultSet rset = stmt.executeQuery("SELECT USER_NAME FROM DB_USER");
//Ende SQL Abrage
while (rset.next())
{
String getInputName = (rset.getString("USER_NAME"));
if (inputName.equalsIgnoreCase(inputName))
{
ResultSet rset2 = stmt.executeQuery("SELECT USER_PASS FROM DB_USER " +
"where USER_NAME = '"+inputName+"'");
while (rset2.next())
{
String getInputPasswort = (rset2.getString("USER_PASS"));
if (inputPasswort.equalsIgnoreCase(inputPasswort))
{
JOptionPane.showMessageDialog(null, "Zugriff gestattet!");
ResultSet rset3 = stmt.executeQuery("SELECT PFLANZENNAME FROM PFLANZEN");
while (rset3.next())
{
String getInputPflanzenname = (rset3.getString("PFLANZENNAME"));
if (inputPflanzenname.equalsIgnoreCase(inputPflanzenname))
{
JOptionPane.showMessageDialog(null,"Pflanze gefunden");
rset3.close();
}//endif
else
{
JOptionPane.showMessageDialog(null,"Pflanze NICHT gefunden");
rset3.close();
}//endelse
}//endwhile
return;
}//endif
else
{
rset2.close();
}//end else
}//endwhile
}//endif
else
{
}//endelse
}//endwhile
rset.close();
if(zugriff == false)
{
JOptionPane.showMessageDialog(null, "Zugriff verweigert!");
}//endif
return;
}
}