47 messaggi dal 06 settembre 2002
Dim conn
Set conn=Server.CreateObject("ADODB.connection")
Conn.Open "dsn=miodsn;uid=miaid;pwd=miapsw"
dim sql
sql="mio sql corretto"
Set rs = conn.execute(sql)

........... Questo è il codice che uso!!!

se uso Rs.MoveFirst o MoveNext tutto funziona correttamente......

se invece utilizzo recordcount ... mi da -1 come valore....

Come posso popolare il mio recordest?

-Ho provato a farlo utilizzando MoveLast... ma anke questo comendo mi da un errore, come posso fare?

Grazie a tutti quelli che lo leggeranno!!!!!

ciao!!
execute crea un recorset con lock e cursor type di default (che non permettono un move previous e di effettuare modifiche), mentre a te servirebbe q.sa che ti permetta di effettuarle.

prova con

rs.open SQL, conn, <b>3, 3</b>

dove rs è un oggetto recordset già instanziato

--
Daniele Bochicchio
<b>Content manager di http://www.aspitalia.com</b>
http://store.aspitalia.com/scheda.asp?codice=255
ASP 3 per esempi - il mio libro

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
89 messaggi dal 09 agosto 2001
Ciao se lavori con SQL Server devi ragionare in termini di righe e non di record la prima idea che ti do è quella di usare una stringa SQL per farti restituire il count di un campo chiave della tabella e poi usare il risultato per quello che devi fare:

SELECT COUNT(ID) AS Contatore FROM MyTab

Stò cercando la sintassi esatta per fare quello che vuoi senza usare questo metodo.

Se usi lo Store Procedure pui farti restituire il recordset dalla Store e mettere il Count nel valore di ritorno (return Contatore) della stessa

Fammi sapere


Massimiliano Mascherin
89 messaggi dal 09 agosto 2001
Ciao ho cercato il comando per restituire direttamente il recordcount ed ho trovato la spiegazione tecnica (e la soluzione) in inglese:

--- Ti estraggo le parti importanti del discorso ---

PSS ID Number: Q194973

When you request the RecordCount for a serverside recordset, a -1 may return.
This occurs with ActiveX Data Objects (ADO) version 2.0 when the CursorType is
adOpenForwardonly or adOpenDynamic. This occurs with ADO 1.5 only when the
cursortype is adOpenForwardonly. Testing with the OLEDB provider for JET and SQL
Server produces varying results, depending on the provider.

Providers may not support some CursorTypes. When you select a CursorType that is
not supported, the provider should select the CursorType closest to what you
request.
...
Changing a LockType may force a change in the CursorType. Be sure to use debug
to check the value of CursorType when conducting tests with your OLEDB provider.


RESOLUTION
==========

Use either adOpenKeyset or adOpenStatic as the CursorType for server side
cursors or use a client side cursor. Client side cursors use only adOpenStatic
for CursorTypes regardless of which CursorType you select.

RIASSUMENDO
Quando crei la connessione specifica correttamente le proprietà CursorLocation e CursorType

Es.
dim gcnn as new ADODB.connection
dim rs as new ADODB.Recordset
gcnn.ConnectionString .... la tua ...
gcnn.CursorLocation = adUseClient
strSQL="SELECT * FROM Tab1"
rs.Open strSQL, gcnn, adOpenKeyset
MsgBox rs.RecordCount

così mi restituisce il numero corretto
spero che la spiegazione ti sia utile



Massimiliano Mascherin
non è forse quello che ti ho detto io?

--
Daniele Bochicchio
<b>Content manager di http://www.aspitalia.com</b>
http://store.aspitalia.com/scheda.asp?codice=255
ASP 3 per esempi - il mio libro

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
89 messaggi dal 09 agosto 2001
Per Daniele chiedo scusa volevo solo riportare il pezzo di articolo che avevo letto a conferma di quanto dicevi tu...


Massimiliano Mascherin
nessun problema

--
Daniele Bochicchio
<b>Content manager di http://www.aspitalia.com</b>
http://store.aspitalia.com/scheda.asp?codice=255
ASP 3 per esempi - il mio libro

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.