Record Count restituisce -1

giovedì 06 marzo 2008 - 10.48

mavi82 Profilo | Newbie

Salve sono ormai in un vicolo cieco.
ho una query parametrica che funziona benissimo eccezion fatto del
RecordCount che mi restituisce -1
Come posso fare per contare i record della query?
Non posso utilizzare COUNT(*) altrimenti devo settare 2 volte i
parametri, non posso cambiare il cursore
help me!!!

Esempio (senza parametri di quello che faccio)

Module T_QRY Public sel_test As ADODB.Command Public Sub prepara_sel_test() sel_test = New ADODB.Command sel_test.ActiveConnection = main.start.conn sel_test.CommandText = "SELECT RIS_STR_COD FROM STR_RIS WHERE RIS_NUM_ACC = '00001312'" End Sub End Module 'dopo aver caricato la qry all'avvio sotto un pulsante eseguo il seg.codice: Dim rs_conn As ADODB.Recordset rs_conn = sel_test.Execute() MsgBox(rs_conn.RecordCount)

se scorro il recordset, tutto funziona benissimo

grazie 1000
Mario

lbenaglia Profilo | Guru

>Dim rs_conn As ADODB.Recordset
>rs_conn = sel_test.Execute()

Ciao Mario,

il metodo Execute di un oggetto ADODB.Command restituisce un firehose, ovvero un cursore lato server, read only e forward only.
Di conseguenza la proprietà RecordCount restituirà -1 (indefinito).
Per ottenere il numero di righe devi utilizzare un cursore client side statico.
A titolo di esempio leggi il seguente thread:
http://groups.google.it/group/microsoft.public.it.sql/browse_thread/thread/1499ac4939307c53

>grazie 1000
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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