Newsgroup: it.comp.www.asp
Titolo: Recordset

Ciao, 
come mai bisogna creare un recordset ogni volta che si fa una
interrogazione a un database? E' l'unico modo per accedere ad una tabella?
Oppure velocizza le query? La creazione di un recordset (che credo sia in
fondo una interrogazione) non è altrettanto lenta quanto una interrogazione
sul database? (tanto poi il recorset viene se non sbaglio distrutto)
theenks
m.

> come mai bisogna creare un recordset ogni volta che si fa una
Su un libro leggo: "se si esegue una interrogazione che restituisce un
considerevole numero di righe, l'oggetto Recordset si limita a riportare un
piccolo batch alla volta". 
Cosa è un batch?
grazie!
m.

On Tue, 16 Sep 2003 20:53:56 GMT, manauz <s_inco...@hwtmail.cwm>
wrote:

La creazione di un recordset è sostanzialmente la trasposizione
(filtrata o meno) della tabella di un db (esistente su disco) nella
memoria volatile della macchina o, come succede in alcuni db, nel
disco fisso. Questo processo consente sostanzialmente di disporre di
una struttura di dati utilizzabile.
Diversamente, non avresti lo strumento che ti consente di leggere i
record da una tabella.
Per quanto riguarda la velocità, dal mio punto di vista una
interrogazione di un db e la creazine di un recordset (in ambito asp)
sono sostanzialmente la stessa cosa.
--
Ciao!
Davide
Armorgod Troll Sciamano - Midgard Vortigern

 sono sostanzialmente la stessa cosa.
Cioè stai dicendo che puoi consultare una tabella _solamente_ con un
recordset, ma lo puoi fare anche con una interrogazione di db?..... :? 
ciao
m.

On Wed, 17 Sep 2003 14:45:39 +0200, manauz <s_inco...@hwtmail.cwm>
wrote:

Dico che utilizzando asp ho sempre e solo fatto interrogazioni al db
sotto forma di query in recordset.
Tu a cosa ti riferisci, tecnicamente, con "interrogazione al DB"?


 Tu a cosa ti riferisci, tecnicamente, con "interrogazione al DB"?
Il concetto non mi entra in testa perché sul libro su cui sto studiando
(che a mio giudizio è lacunoso e con una learning curve ripida e
sforacchiata) ad esempio viene presentato il codice
  Set rsCount = dcnDB.Execute("SELECT COUNT(*) FROM Customers")
  Response.Write "Ci sono " & rsCount(0) & " clienti"
Suppongo che rs* stia per recordset, tuttavia in questo esempio non viene
creata un'istanza dell'oggetto "ADODB.Recordset", per cui mi verrebbe da
pensare che se non è stata creata non ci sarà nemmeno bisogno di chiuderla,
o di annullarla, anzi non è nemmeno un recordset ma viene chiamato rs* per
comodità, perché restituisce dei dati: l'esempio mi sembra perciò come una
interrogazione sul vivo del database. 
<sospiro> grossa crisi... :)
ciao
m.

pensare che se non è stata creata non ci sarà nemmeno bisogno di chiuderla,
Con l'execute utilizzi il driver del database per effettuare
operazioni sul db. Normalmente le operazioni fatte con questo sistema
sono difficili da replicare utilizzando un recordset.
Effettivamente stai catturando il risultato di una operazione in una
variabile, senza creare un recordset. 
Ma nel tuo libro c'è un esempio di come visualizzare una tabella con
tutti i campo tramite dcnDB.execute? In tal caso sicuramente crea un
oggetto recordset e scrive il risultato della query lì dentro :)
Io uso spesso conn.execute per delettare e inserire record in tabelle.
