Requete base Access OLEDBConnection

Résolu
jesaipa_1 Messages postés 63 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 16 mai 2007 - 1 févr. 2006 à 17:56
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 2 févr. 2006 à 10:59
Slt a tous, j'ia un petit pb avec mes requete cad que mes requetes SELECT et INSERT marche mais pas ma requete DELETE
je n'arrive pas a savoir pourquoi si quelqun a une idée merci de la partager
mon code :



// établie une connexion sur la base Access
public
bool Open()
{

try
{

this.oConn =
new
OleDbConnection(
this.connStr);

this.oConn.Open();

return
true;
}

catch
{

return
false;
}
}


public void Delete(string _UID)
{string req "DELETE * FROM CS_CARD WHERE CD_CSN '" + CD_CSN + "';";
this.Execute(req);req "DELETE * FROM CS_ACCOUNT WHERE AT_CSN '" + CD_CSN + "';";
this.Execute(req);
this
.Close();
}


// execute une requête SQL sur la base Access
public
bool Execute(
string ordre)
{

try
{

this.oCmd =
new
OleDbCommand(ordre,
this.oConn);

this.rdr =
this.oCmd.ExecuteReader();

return
true;
}

catch
{

return
false;
}
}

Merci d'avance
A voir également:

5 réponses

cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
1 févr. 2006 à 18:19
Salut,

Pour une requête DELETE on se sert de la méthode ExecuteNonQuery, pas ExecuteReader.

/*
coq
MVP Visual C#
*/
3
jesaipa_1 Messages postés 63 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 16 mai 2007
1 févr. 2006 à 18:00
ah oui, j'oubliai la requete quand je l'execute sous Access elle fonctionne correctement sans aucun probleme

et l'endroit où elle bloque c'est dans la fonction Execute quand elle veut executer cette ligne : this.rdr =
this.oCmd.ExecuteReader();

elle passe dans le catch
0
jesaipa_1 Messages postés 63 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 16 mai 2007
2 févr. 2006 à 09:14
this.oCmd =
new
OleDbCommand(ordre,
this.oConn);

this.rdr =
this.oCmd.ExecuteNonQuery();

return
true;

cela me retourne une erreur : Cannot implicitly convert type 'int' to 'System.Data.OleDb.OleDbDataReader' sur la ligne du this.rdr = this.oCmd.ExecuteNonQuery();

pourrait tu maider sur ce probleme merci
0
jesaipa_1 Messages postés 63 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 16 mai 2007
2 févr. 2006 à 09:23
private
OleDbDataReader rdr;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
2 févr. 2006 à 10:59
Salut,
Comme le dit l'erreur, ExecuteNonQuery() te retourne un int, pas un OleDbDataReader



Mx
MVP C#
0