Scopo
Aggiunge una nuova riga al recordset e vi posiziona il cursore. Impostando il valore delle colonne dei recordset, tali valori andranno a comporre la nuova riga.
Sintassi
Recordset.AddNew()
Argomenti
Questo metodo non ha argomenti.Esempio di codice
// ****************************************************************************
// Aggiorna il recordset a partire dai dati del pannello (che sono su tabella
// IMDB)
// ****************************************************************************
public void ProdottiRecordset.AggiornaRecordsetSulDB()
{
// Alzo il numero di loop memorizzati nel log per avere più informazioni di
// debug. (il default è 10)
EsempiGL.DTTLoggedLoops := C100
//
// Per ogni riga della tabella IMDB sottesa al pannello.
for each row
{
select
...
//
record Prodotto
...
//
if Prodotto.Inserito = True
{
this.Rs.AddNew()
//
this.Rs.SetFieldValue(this.Rs.FieldName(ONE), Prodotto.Idprodotto)
this.Rs.SetFieldValue(this.Rs.FieldName(C2), Prodotto.NomeProdotto)
this.Rs.SetFieldValue(this.Rs.FieldName(C3), Prodotto.Idfornitore)
this.Rs.SetFieldValue(this.Rs.FieldName(C4), Prodotto.Idcategoria)
this.Rs.SetFieldValue(this.Rs.FieldName(C5), Prodotto.
QuantitaPerUnita)
this.Rs.SetFieldValue(this.Rs.FieldName(C6), Prodotto.PrezzoUnitar-
io)
this.Rs.SetFieldValue(this.Rs.FieldName(C7), Prodotto.Scorte)
this.Rs.SetFieldValue(this.Rs.FieldName(C8), Prodotto.
QuantitaOrdinata)
this.Rs.SetFieldValue(this.Rs.FieldName(Nine), Prodotto.
LivelloDiRiordino)
this.Rs.SetFieldValue(this.Rs.FieldName(C10), Prodotto.Sospeso)
}
//
if Prodotto.Aggiornato = True
...
//
// Se è cancellato lo tolgo dal RS
if Prodotto.Cancellato = True
...
}
this.Rs.MoveFirst()
//
this.Rs.Update()
//
// Rimetto il DTTLoggedLoops a 10
EsempiGL.DTTLoggedLoops := C10
}
// Aggiorna il recordset a partire dai dati del pannello (che sono su tabella
// IMDB)
// ****************************************************************************
public void ProdottiRecordset.AggiornaRecordsetSulDB()
{
// Alzo il numero di loop memorizzati nel log per avere più informazioni di
// debug. (il default è 10)
EsempiGL.DTTLoggedLoops := C100
//
// Per ogni riga della tabella IMDB sottesa al pannello.
for each row
{
select
...
//
record Prodotto
...
//
if Prodotto.Inserito = True
{
this.Rs.AddNew()
//
this.Rs.SetFieldValue(this.Rs.FieldName(ONE), Prodotto.Idprodotto)
this.Rs.SetFieldValue(this.Rs.FieldName(C2), Prodotto.NomeProdotto)
this.Rs.SetFieldValue(this.Rs.FieldName(C3), Prodotto.Idfornitore)
this.Rs.SetFieldValue(this.Rs.FieldName(C4), Prodotto.Idcategoria)
this.Rs.SetFieldValue(this.Rs.FieldName(C5), Prodotto.
QuantitaPerUnita)
this.Rs.SetFieldValue(this.Rs.FieldName(C6), Prodotto.PrezzoUnitar-
io)
this.Rs.SetFieldValue(this.Rs.FieldName(C7), Prodotto.Scorte)
this.Rs.SetFieldValue(this.Rs.FieldName(C8), Prodotto.
QuantitaOrdinata)
this.Rs.SetFieldValue(this.Rs.FieldName(Nine), Prodotto.
LivelloDiRiordino)
this.Rs.SetFieldValue(this.Rs.FieldName(C10), Prodotto.Sospeso)
}
//
if Prodotto.Aggiornato = True
...
//
// Se è cancellato lo tolgo dal RS
if Prodotto.Cancellato = True
...
}
this.Rs.MoveFirst()
//
this.Rs.Update()
//
// Rimetto il DTTLoggedLoops a 10
EsempiGL.DTTLoggedLoops := C10
}
- Questa funzione è obsoleta e non più funzionante. Per aggiungere una nuova riga è necessario usare la funzione AddRow.
-
La nuova riga viene aggiunta in fondo al recordset, e subito dopo l'inserimento il cursore viene posizionato di su essa. Essendo l'ultima eseguire MoveNext dopo AddNew causa un errore. Occorre prestare attenzione a questo comportamento se si effettuano inserimenti all'interno di cicli.
Attenzione, questo articolo è stato dichiarato obsoleto! Ultima modifica: 04/04/2024 / Validità: da 6.7.2900