2006/10/8, une.bouteille.a.la.mer <[EMAIL PROTECTED]>:
Bonsoir,

2006/10/7, une.bouteille.a.la.mer  <[EMAIL PROTECTED] >:
>
> BONSOIR
>
> Soit une requête
>
> maRequete = maConnexion.CreateStatement()
> oDonnees=maRequete.executeQuery(instrSQL)
>
>
> Lorque la requête ne renvoie pas de résultats (tout simplement parce qu'il
> n'y en a pas pas !)
>
> Lorsque je demande par exemple l'affichage par exemple de
> Resultat = oDonnees.getString(3)
>
> J'obtiens une erreur SQLException: No data is available"
> Normal, sans doute
>
> Mais comment faire pour contourner ce problème ?
>
> J'ai essayé
>
> If Not IsNull(oDonnees) Then
> Resultat = oDonnees.getString(3)
> End If
>
> Mais cela ne fonctionne pas


Deux pistes :
- un select count(*) avant qui doit TJRS retourner un résultat.
- odonnées.count() ??? je sais pas si cette fonction existe ?

Yves

> Merci de votre aide
>



SELECT COUNT(*)  dans ma requête SQL ? Je ne vois pas trop

Peut-être me suis-je mal exprimé

J'exécute ma requête
Soit il y a des résultats, là pas de problème
Resultat = oDonnees.getString(3)

En revanche s'il n'y a pas de résultats
Resultat = oDonnees.getString(3)
me retourne l'erreur suivante : SQLException: No data is available" logique...

logique mais fort ennuyeux...

Aussi je cherche à éviter le problème

du genre SI data available ALORS me retourner les résultats de la requête SINON 
ne rien faire

mais je ne sais pas comment traduire cela

J'avais essayé

If Not IsNull(oDonnees) Then
Resultat = oDonnees.getString(3)
End If

Mais cela ne fonctionne pas

tu peux essayer :

Statement = Connection.createStatement()
ResultSet = Statement.executeQuery("SELECT CustomerNumber FROM Customer")
If Not IsNull(ResultSet) Then
  While ResultSet.next
     MsgBox ResultSet.getString(1)
  Wend
End If

ResultSet.next sera faux à la première itération si le ResultSet est vide.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à