Ciao ragazzi 
Il mio problemino è questo:
ho un recordset di Ado; eseguo l'apertura e ne verifico lo stato, dopodichè se vado a fare il .MoveLast o il .Recordcount mi va' in errore.
L'errore per il MoveLast è: 'Il set di righe non supporta operazioni di recupero all'indietro.'
Mentre per il Recordcount mi restituisce -1.
Il codice originario è questo:
codice:
...
strSql = "exec sp_fkeys '" + ElencoTabelle(indTab) + "'"
adoRsSql = adoConn.Execute(strSql)
' verifica che il recordset sia aperto
If adoRsSql.State = 1 Then
If Not adoRsSql.EOF Then
adoRsSql.MoveLast()
adoRsSql.MoveFirst()
PBar_Avanzamento.Maximum = adoRsSql.RecordCount
...
End If
End If
ho provato a impostare la proprietà Cursortype su Static ma non ha funzionato lo stesso. Così ho scritto l'apertura diversamente e nonostante il cursortype Static l'errore non se ne è andato.
Ecco la seconda soluzione:
codice:
...
strSql = "exec sp_fkeys '" + ElencoTabelle(indTab) + "'"
adoRsSql.Open(strSql, adoConn, ADODB.CursorTypeEnum.adOpenStatic)
Il database è di SqlServer8 e la stored procedure "sp_fkeys" è di sistema. Restituisce le relazioni per la tabella indicata nel filtro della stringa sql.
Mi sapete dare qualche spiegazione?
Grazie a tutti
lady