VB Oracle Recordset ...

Fermé
thecam Messages postés 3 Date d'inscription mercredi 20 mars 2002 Statut Membre Dernière intervention 22 mars 2002 - 22 mars 2002 à 13:58
 vivi - 11 févr. 2009 à 11:45
Hi, mon recordset.eof = true alors qu'il ne devrait pas :

d'abord je lance une procédure stockée :

Set cmdProc = New ADODB.Command
cmdProc.ActiveConnection = gConn
cmdProc.CommandText = sNomProc
cmdProc.CommandType = adCmdStoredProc
...
cmdProc.Parameters("sDateDebut").Value = sDated
cmdProc.Parameters("sDateFin").Value = sDatef
Set rsProc = cmdProc.Execute

Là pas de problème çà lance bien la procédure stockée qui remplit une table
Ensuite je veux récupérer les données d'une table, donc je fais :

SqlString = " Select ..."

Set cmdProc2 = New ADODB.Command
cmdProc2.ActiveConnection = gConn
cmdProc2.CommandText = SqlString
cmdProc2.CommandType = adCmdText
cmdProc2.Prepared = True

Set rsRead = New ADODB.Recordset
Set rsRead = cmdProc2.Execute

Et là j'ai rsRead.EOF = 'Vrai' et rsRead.RecordCount = -1 alors que si je lance la même requête (au même moment) sous Oracle, j'ai bien 24 enregistrements...

Le problème ne vient pas à priori de la connexion (çà marche pour la procédure stockée).

J'ai bien sûr essayer des requetes sur d'autres tables et sans lancer la procedure stockee avant : meme resultat, toujours rsRead.EOF = 'Vrai'

Je pense que je dois jouer sur une des propriétés de l'objet ADODB ou du recordset ... j'ai fait plusieurs essais, mais rien de concluant.

Merci d'avance.

@+
A voir également:

1 réponse

Essaye de te positionner sur le 1er enregistrement avec rsRead.movefirst
0