Pblème de connexion à Access

cs_toniom Messages postés 1 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 22 novembre 2005 - 22 nov. 2005 à 22:30
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 23 nov. 2005 à 14:12
Hello, j'ai un petit souci, je n'arrive pas à executer une requête SQL sur une BDD Access. Voici mon code :



class Connexion

{

private BDD_Access Db_Access;



public Connexion()

{


Db_Access = new
BDD_Access();


}



public Boolean Connect(String Login, String Mdp)

{

Boolean Droits_Ok;


Droits_Ok = Db_Access.ExeSQL("Select Access from Droits where
Login=""+Login+"" and Mdp=""+Mdp+""");

return Droits_Ok;

}

}



class BDD_Access

{

private OleDbConnection DbSource;

private OleDbCommand SQLQuery;



public BDD_Access()

{


DbSource = new OleDbConnection(@"provider=Microsoft.Jet.OLEDB.4.0;Data
Source=db1.mdb");



DbSource.Open();


}



public Boolean ExeSQL(String Query)


{


SQLQuery = new OleDbCommand(Query,DbSource);

MessageBox.Show(SQLQuery.CommandText.ToString());

MessageBox.Show(SQLQuery.Connection.State.ToString());

SQLQuery.Connection = DbSource;

SQLQuery.CommandText = Query;



OleDbDataReader DbReader = SQLQuery.ExecuteReader(); ->>> Ca bloque ici !!!! MSG : "Aucune valeur donnée pour un ou plusieurs des paramètres requis."

if (DbReader.Read())

{

//DbReader.Close();

//DbSource.Close();

return true;

}

else

return false;

}

}



Dans mon Main, je crée un objet Connexion, puis je lui fais appeller la fonction Connect.

Il m'affiche bien que la connexion est ouverte, mais il bloque à l'execution de la requete. Pkoi??

Merci de votre aide.

crepin.antoine@netcourrier.com

4 réponses

crougni77 Messages postés 28 Date d'inscription dimanche 24 août 2003 Statut Membre Dernière intervention 28 septembre 2009
23 nov. 2005 à 00:45
Salut,



qu'est ce que t'affiche ta ligne :



MessageBox.Show(SQLQuery.CommandText.ToString());



lorsque tu as ton erreur ???

CrougniMan
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
23 nov. 2005 à 10:46
Mais pourquoi un appel à ToString sur un élément qui est déjà une chaine de caractères ?

/*
coq
MVP Visual C#
*/
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
23 nov. 2005 à 13:21
A bencher le temps de resinstanciation d'une string...

sinon, utilises plutot les String.Format


<HR>
string rq String.Format("SELECT Access FROM Droits WHERE Login '{0}' and mdp = '{1}'", Login, Mdp);
Droits_Ok = Db_Access.ExeSQL(rq);


<HR>
L'erreur qu'il te donne, c'est parce que ta requete est mal formée, et qu'il attend des parametres.

Et n'oublies pas de fermer ta connexion

Mx
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
23 nov. 2005 à 14:12
Ou directement les OleDbParameter :-)

/*
coq
MVP Visual C#
*/
0
Rejoignez-nous