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)