English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Document Orientation
  • ID Document
  • Data Base

Load Collection From RecordSet

procedura copia link

Scopo

Questa procedura permette di caricare una collection di documenti a partire da un recordset.

Sintassi

Documento.LoadCollectionFromRecordset(collection, recordset, numero livelli)

Argomenti

Collection Oggetto IDCollection da caricare. La collection non viene vuotata prima del caricamento.
Recordset L'oggetto Recordset - che deve essere aperto - da cui caricare i dati.
Numero Livelli Parametro opzionale intero con valore di default zero che rappresenta il numero di livelli di sotto-documenti che devono essere caricati.

Esempio di codice

// ********************************
// Carica i 5 prodotti più ordinati
// ********************************

public void Prodotti.BottoneRS()
{
  Recordset rs = new()   // This variable contains the recordset returned by the linked query
  IDCollection c = new() // Collection da caricare
  Prodotto p = new()     // Prodotto da usare per caricare la collection
  // 
  // Dico che voglio al max 5 records

  NorthwindDB.MaxRows := C5
  // 
  // Carico i prodotti

  select into recordset (rs)
    Prodotti.Id as IdProdotto(IDPRODOTTO)
    Prodotti.NomeProdotto as NomeProdotto(NOMEPRODOTTO)
    Prodotti.Idfornitore as IdfornitoreProdotto(IDFORNPRODOT)
    Prodotti.Idcategoria as IdcategoriaProdotto(IDCATEPRODOT)
    Prodotti.QuantitaPerUnita as QuantitaPerUnitaProdotto(QUAPERUNIPRO)
    Prodotti.PrezzoUnitario as PrezzoUnitarioProdotto(PREZUNITPROD)
    Prodotti.Scorte as ScorteProdotto(SCORTEPRODOT)
    Prodotti.QuantitaOrdinata as QuantitaOrdinataProdotto(QUANORDIPROD)
    Prodotti.LivelloDiRiordino as LivelloDiRiordinoProdotto(LIVEDIRIOPRO)
    Prodotti.Sospeso as SospesoProdotto(SOSPESPRODOT)
    Count() as Count()(COUNT1)
  from
    Prodotti       // Master Table
    DettagliOrdini // Joined with Prodotti using FK ProdottoDettagli_ordini
  order by
    Count()
  // 
  // Carico la collection dal RS

  p.LoadCollectionFromRecordset(
    Collection := c
    Recordset := rs
    ChildrenLevel := ZERO
  )
  // 
  // E la attacco al pannello

  Prodotto.Collection := c
}
  • Per ottenere il corretto caricamento delle proprietà è necessario che i nomi fisici (DB Code) delle colonne del recordset siano corrispondenti ai nomi fisici (DB Code) delle proprietà del documento da caricare, oppure, in seconda battuta, ai nomi fisici dei campi del database relativi alle proprietà del documento da caricare.
  • Il recordset può essere aperto, ad esempio, con una istruzione di tipo Select Into Recordset oppure con la funzione SQLQuery dell'oggetto database.
  • E' possibile associare tramite D&D una proprietà del documento con la colonna della query Select Into Recordset in modo da garantire automaticamente che i nomi corrispondano. E' anche possibile tirare il documento sulla query per associare in automatico le proprietà.

Ultima modifica: 20/09/2021 / Validità: da 6.5.2680

Vedi Anche

  • SQL Query (funzione)
  • Recordset
  • ID Collection

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum