Recordset inaspettatamente vuoto

giovedì 18 maggio 2006 - 17.32

magheggio Profilo | Newbie

Salve a tutti.

Ho un problema relativo ai dati di ritorno da una query per VB6.
Ma andiamo con ordine:
Il sistema operativo è Windows XP con SP2, ho MDAC 2.8, la mia applicazione si connette ad un DB Oracle 8 con i driver microsoft. All'interno dell'applicazione costruisco una query, se la prelevo durante l'esecuzione da VS e la lancio in TOAD mi restituisce tre righe, mentre nella normale esecuzione della stessa il recordset risulta vuoto... altre query nella stessa applicazione vanno benissimo...
ho il sospetto che il mio ambiente sia corrotto, magari si perde quel riferimento, ma il perchè e la soluzione mi sfuggono...
aggiungo qualche riga di codice di esempio:

Dim strSqlAng As String
Dim RecAppo As Adodb.Recordset
set RecAppo = Nothing

cotruisco la stringa SQL e la metto in strSqlAng

Set RecAppo = New ADODB.Recordset
RecAppo.Open strSqlAng, g_MyConn, , , adCmdText

qualcuno ha qualche suggerimento?

Ho verificato il codice su un progetto nuovo 'vergine' e in questo caso funziona correttamente.

Cosa si può essere sputtanato?
Si può in qualche modo resettare l'ambiente del Progetto che si è corrotto?

Grazie in Anticipo
Magheggio

Teech Profilo | Expert

Per prima cosa controlla RecAppo.Recordcount se è >0...

Prova ad usare queste righe di codice:
Dim strSqlAng As String Dim RecAppo As Adodb.Recordset Set RecAppo = New ADODB.Recordset strSqlAng="" 'Metti la tua SELECT RecAppo.Open strSqlAng, g_MyConn If RecAppo.Recordcount>0 Then RecAppo.MoveLast: RecAppo.MoveFirst End If 'Controlla i tuoi record

Non so per quale motivo (non essendomi mai documentato) ma a volte è necessario spostarsi alla fine del record per poi tornare all'inizio.

Ciao
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

magheggio Profilo | Newbie

No, non funziona.

Recordcount è uguale a -1, quindi il codice che mi suggerisci non lo esegue.

e

RecAppo.EOF è subito true

Grazie lo stesso!
Magheggio

Teech Profilo | Expert

Ci sono dei campi 'Data' nella WHERE della SQL?
A volte la sintassi delle date nelle SQL creano dei problemi però non conosco Oracle e quindi non posso esserti di ulteriore aiuto.
L'ho sparata secondo i problemi simili che ho incontrato io nell'utilizzo di ADO in VB6.

Se non risolvi nemmeno con questa indicazione non posso più esseti di aiuto purtroppo...

Ciao!!!
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5