2006/10/8, Manuel NAUDIN <[EMAIL PROTECTED]>:
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.
je voulais dire que ResultSet.next sera toujours faux si le resultset est vide, et donc la boucle WHILE ne sera jamais parcourue. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
