Return data naar textField via JDBC

Status
Niet open voor verdere reacties.

Virusbeatbox

Gebruiker
Lid geworden
18 dec 2007
Berichten
201
Beste,

ik zoek een manier om volgend probleem aan te pakken.

Als administrator wens ik, indien iemand zijn wachtwoord vergeten is, de mogelijkheid hebben om in een textfield de gebruikersnaam in te geven. Wanneer ik dan op de knop "zoeken" druk, moet er via JDBC in de database naar het wachtwoord gezocht worden van de gebruikersnaam die ik net heb ingevoerd. Deze moet dan in een ander textfieldje, het juiste wachtwoord returnen..

mijn vraag is nu, hoe kan ik dit het beste doen?

Alvast bedankt!
 
Wat ook mag, en eigenlijk liever, is hoe ik de tabel Gebruiker (van ms Access) in m'n panel van java krijg? Hierdoor kan ik automatisch de gebruikersnaam en het paswoord zien,, ik schuimer het hele internet af maar niets wat werkt :confused:
 
Volgens mij kan je gewoon een query uitvoeren: SELECT Name, Password FROM Gebruikers

en dan van de ResultSet die hieruit komt rollen de strings opvragen.

zoiets:
Code:
ResultSet rs = statement.executeQuery("SELECT Name, Password FROM Gebruikers"); //SELECT * Als je alles uit tabel wilt.

while(rs.next()) {
     TextField textveldje.setText(rs.getString(1) //dit is dan je naam
     TextField textveldje.setText(rs.getString(2) //dit is je password
}
 
Laatst bewerkt:
nee niet bepaald, ik krijg dan een fout "Er zijn te weinig parameters. Het verwachte aantal is: 1."

mijn code is :
[XML] public void actionPerformed(ActionEvent e)
{
String login = txtLoginSpeler.getText();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:database");
Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("SELECT * FROM Gebruiker WHERE Naam="+login);

while(rs.next())
{
txtLoginSpeler.setText(rs.getString(1)); //dit is dan je naam
txtPaswoordSpeler.setText(rs.getString(2)); //dit is je password
}

}catch(ClassNotFoundException e1)
{
System.out.println("Error "+e1);
}catch(SQLException sqlException)
{
sqlException.printStackTrace();
}
}[/XML]

heb ook geprobeerd om het *'tje te vervangen door Naam,Paswoord (aangezien er niets anders in de database zit) maar nope, geen resultaat
 
Laatst bewerkt:
Beste Virus,

Zou je misschien de exacte foutmelding kunnen zeggen en waar deze optreed?

Ik heb even een voorbeeldje voor je gemaakt, omdat ik zag dat je ook de login in je query wou gebruiken.

Code:
		String login = txtLoginSpeler.getText();
		String loginInformatie = "";
		String paswoordInformatie = "";
		String query = "SELECT Naam,Paswoord FROM Gebruiker WHERE Naam = ?";
		try {
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			Connection con = DriverManager.getConnection("jdbc:odbc:database");

			PreparedStatement pstmt = con.prepareStatement(query);
			pstmt.setString(1, login); // vult de String login in op de plek van het eerste vraagteken.

			ResultSet rs = pstmt.executeQuery();

			while (rs.next()) {
				loginInformatie    += (rs.getString(1) + "\n");
				paswoordInformatie += (rs.getString(2) + "\n");
			}
                        txtLoginSpeler.setText(loginInformatie); // dit zijn je namen.
		        txtPaswoordSpeler.setText(paswoordInformatie); // dit zijn je paswoorden.

           }catch(ClassNotFoundException e1)
           {
               System.out.println("Error "+e1);
           }catch(SQLException sqlException)
           {
               sqlException.printStackTrace();
           }
    }
}

Ik heb de code niet getest, maar het geeft geen foutmeldingen hier.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan