jeoff
Messages postés8Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 9 février 2006
-
12 juil. 2005 à 15:58
jeoff
Messages postés8Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 9 février 2006
-
13 juil. 2005 à 17:09
Bonjour,
J'utilise actuellement ADODB et je rencontre quelques soucis qui m'oblige à des bidouilles pas très catholiques.
En fait je peux avoir plusieurs issues à l'interrogation de la bdd.
1) Commande de type select qui renvoie un résultat.
2) Commande de type select qui renvoie un recordset vide
3) Commande SQL erronée
4) Commande de type update qui ne renvoie pas de résultat
Voici ma bidouille :
----------------
Public Function mysql_query(ByVal cmd As String, ByRef recset As
ADODB.Recordset, ByRef connec As ADODB.Connection, ByVal login As
String, ByVal password As String, ByVal source As String) As Integer
Try
'------------- Open the Database ----------------
connec.Open(source, login, password)
Catch e As Exception
Return 2
End Try
Try
'----------- send SQL command -------------
recset.Open(cmd, connec)
Catch e As Exception
'commande SQL incorrecte
Return 1
End Try
Try
If recset.BOF True And recset.EOF True Then
'recordset vide
Return 3
End If
Catch e As Exception
'aucun résultat n'est
renvoyé, suppose que les instructions de type insert/replace/update se
sont bien deroulées ?
Return 4
End Try
Return 0
End Function
----------------
J'aimerai donc pouvoir piloter avec plus de précisions les résultats de
mes requêtes et non pas faire de suppositions (notemment dans le cas 4)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 12 juil. 2005 à 18:17
Salut
Et recset.RecordCount ne serait-il pas plus pratique pour savoir combien de résultats sont arrivés ?
Pour les Select : recset.Open
Mais pour les Updates, il faut faire un Connec.Execute
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
(je