Scopo
Questa procedura posiziona il Recordset alla prima riga. Solitamente viene utilizzata per cominciare a leggere i dati che vi sono contenuti, all'inizio di un ciclo.
Sintassi
Recordset.MoveFirst()
Argomenti
Questa procedura non ha argomenti.Esempio di codice
//
Scrittura del nuovo recordset a partire dal vecchio
{
// Mi posiziono alla prima riga
Sorgente.MoveFirst()
//
// Aggiungo una riga di esempio nel recordset
Inserimento prima riga di intestazione
...
//
// Per tutti gli articoli caricati, cioé finché non è finito il Recordset
while NOT(Sorgente.EOF())
{
string Categoria = "" //
int IDCategoria = 0 //
Collection riga = new() //
//
IDCategoria := ToInteger(Sorgente.GetFieldValue(IDCategoria))
//
// Leggo la categoria del prodotto corrente
select into variables
set Categoria := NomeCategoria
from
Categorie // Master Table
where
Idcategoria = ToInteger(IDCategoria)
//
// Aggiungo una riga al recordset di destinazione
riga.AddString(Sorgente.GetFieldValue(NomeProdotto))
riga.AddString(Categoria)
riga.Add(Convert(Sorgente.GetFieldValue(PrezzoUnitario)))
//
Destinazione.AddRow(riga)
//
// Passo al prossimo prodotto
Sorgente.MoveNext()
}
EsempiGL.DTTLogMessage(FormatMessage(MSG Recordset Creato,
Destinazione.FieldCount(), Destinazione.RecordCount(), ??, ??, ??), ??,
??)
}
Scrittura del nuovo recordset a partire dal vecchio
{
// Mi posiziono alla prima riga
Sorgente.MoveFirst()
//
// Aggiungo una riga di esempio nel recordset
Inserimento prima riga di intestazione
...
//
// Per tutti gli articoli caricati, cioé finché non è finito il Recordset
while NOT(Sorgente.EOF())
{
string Categoria = "" //
int IDCategoria = 0 //
Collection riga = new() //
//
IDCategoria := ToInteger(Sorgente.GetFieldValue(IDCategoria))
//
// Leggo la categoria del prodotto corrente
select into variables
set Categoria := NomeCategoria
from
Categorie // Master Table
where
Idcategoria = ToInteger(IDCategoria)
//
// Aggiungo una riga al recordset di destinazione
riga.AddString(Sorgente.GetFieldValue(NomeProdotto))
riga.AddString(Categoria)
riga.Add(Convert(Sorgente.GetFieldValue(PrezzoUnitario)))
//
Destinazione.AddRow(riga)
//
// Passo al prossimo prodotto
Sorgente.MoveNext()
}
EsempiGL.DTTLogMessage(FormatMessage(MSG Recordset Creato,
Destinazione.FieldCount(), Destinazione.RecordCount(), ??, ??, ??), ??,
??)
}
- Dopo che si sono letti i dati dal database e che si è creato il recordset è consigliabile posizionarsi sulla prima riga, per evitare che il cursore interno non sia prima di essa. In quest'ultima condizione, così come in stato EOF, accedere ai dati genera un errore.
- Il metodo può essere utilizzato per effettuare più cicli consecutivi sullo stesso recordset, ripartendo ogni volta dalla prima riga.
Ultima modifica: 25/10/2016 / Validità: da 6.7.2900
procedura