HELP requete sans resultat

polluxtroll Messages postés 12 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 13 décembre 2002 - 13 déc. 2002 à 11:42
elfourbos Messages postés 66 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 10 août 2007 - 25 janv. 2006 à 23:42
Salut à tous,

Voila, j'ai un petit probléme avec une requete SELECT. En effet, j'exécute cette requete sur une table où tous les champs sont remplis et je me retrouve avec une exception sql : "No data found"

comment faire pour que je puisse retrouvé mes données ?

Voici mon code (si ça peux aider) :

void buttonLoginBtnConnect_actionPerformed(ActionEvent e) {
try {
try {
try {
user = this.textLoginUser.getText();
pass = this.jPasswordField1.getText();

db.result = db.stmt.executeQuery("SELECT * FROM buyer_table WHERE buy_login='"+user+"' AND buy_pwd='"+pass+"';");
if(db.result == null) {
labelErrorMessages.setText("Requête sans résultat(s)");
}
else {
while(db.result.next()) {
if(db.result.getString("buy_type") == "admin") {
labelAdminMessages.setText("Administrator mode.");
labelWelcomeMessages1.setText("Welcome "+db.result.getString("buy_nom"));
}
else if(db.result.getString("buy_type") == "user") {
labelAdminMessages.setText("User mode.");
labelWelcomeMessages1.setText("Welcome "+db.result.getString("buy_nom"));
}
else {
labelAdminMessages.setText("Unknown user");
labelWelcomeMessages1.setText("Welcome.");
}
}
}
}
catch(SQLException sexc) {
labelErrorMessages.setText("loginTest SQL error : "+sexc.getMessage());
}
catch(Exception ex) {
labelErrorMessages.setText("loginTest error : "+ex.getMessage());
}

/**Exécution de la requête SELECT pour savoir si l'utilisateur est référencé*/
querySQL = new String("SELECT * FROM buyer_table WHERE buy_type='"+user_access_type+"' AND buy_login='"+textLoginUser.getText().toString()+"' AND buy_pwd='"+jPasswordField1.getText().toString()+"';");
db.result = db.stmt.executeQuery(querySQL);
}
catch(SQLException sql_query_exception) {
labelErrorMessages.setText("SQL error on query : "+sql_query_exception);
}
catch(Exception std_query_exception) {
labelErrorMessages.setText("Std error on query : "+std_query_exception);
}
/**Test tant qu'il y a des éléments dans la table*/
while(db.result.next()) {
String dbn = db.result.getString("buy_nom").toString();

/**Si le nom et le password sont reconnu*/
if(!unknown_user_or_pass) {
/**Message de bienvenue*/
labelWelcomeMessages1.setText("Welcome "+dbn+".");
/**Réactivation des boutons*/
buttonBtnDisconnect.setEnabled(true);
buttonBtnNew.setEnabled(true);
buttonBtnView.setEnabled(true);
buttonBtnModify.setEnabled(true);

panelLoginPlace.setVisible(false);
}
else {
labelErrorMessages.setText("Login error.");
}
}
}
catch(SQLException sqle) {
System.err.println("Verifying user error : "+sqle);
}
}

Les objets :
- user et pass sont des String
- db est un AppletDatabase j'utilise uniquement le constructeur

public class AppletDatabase {
/**Variables SQL pour la gestion de la base*/
Connection conn;
Statement stmt;
ResultSet result;
ResultSet resultAccess;

String dsn;

public AppletDatabase() {
try {
dsn = new String("jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb);UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL=MS Access;DriverId=281;DefaultDir=F:\\;DBQ=F:\\confid\\Update\\horsprod.mdb");

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
conn = DriverManager.getConnection(dsn);
stmt = conn.createStatement();
}
catch(ClassNotFoundException ce) {
System.err.println(ce);
}
catch(SQLException e) {
System.err.println(e);
}
catch(Exception exc) {
System.err.println(exc);
}
}
}

Pour info je fais une connexion en DSNLess.

Merci de votre aide

PoLlUx_TrOlL

Prenez un troll au petit-déjeuner!! (avis d'expert : y'a rien de mieux)

2 réponses

Tylvalen Messages postés 16 Date d'inscription mercredi 4 décembre 2002 Statut Membre Dernière intervention 16 juillet 2003
6 janv. 2003 à 02:01
Salut,

juste une chose pour récupérer la valeur d'un jPasswordField1
c'est :

jPasswordField1.getPassword()

et db.result.wasNull pour tester ton curseur, non ?

Tylvalen
fab244@yahoo.fr
fab244@caramail.com
elfourbos Messages postés 66 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 10 août 2007
25 janv. 2006 à 23:42
est ce ke ca marche aussi pour les int le wasnull()?????

mat.
Rejoignez-nous