Requete base Access OLEDBConnection [Résolu]

Messages postés
63
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
16 mai 2007
- - Dernière réponse : MorpionMx
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
88
3
Merci
Salut,

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

/*
coq
MVP Visual C#
*/

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 87 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_coq
Messages postés
63
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
16 mai 2007
0
Merci
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
Commenter la réponse de jesaipa_1
Messages postés
63
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
16 mai 2007
0
Merci
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
Commenter la réponse de jesaipa_1
Messages postés
63
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
16 mai 2007
0
Merci
private
OleDbDataReader rdr;
Commenter la réponse de jesaipa_1
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
43
0
Merci
Salut,
Comme le dit l'erreur, ExecuteNonQuery() te retourne un int, pas un OleDbDataReader



Mx
MVP C#
Commenter la réponse de MorpionMx

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.