Operazione di comandi non con parametri
Per i comandi non con parametri, vengono eseguiti tutti i comandi del provider e i recordset vengono creati durante l'esecuzione del comando. Se il comando viene eseguito in modo sincrono, tutti i recordset verranno popolati completamente. Se è stata selezionata una modalità popolamento asincrona, lo stato popolato dei recordset dipenderà dalla modalità popolamento e dalle dimensioni dei recordset .
Ad esempio, il comando padre potrebbe restituire un recordset di clienti per una società da una tabella Customers e il comando figlio potrebbe restituire un recordset di ordini per tutti i clienti da una tabella Orders.
SHAPE {SELECT * FROM Customers}
APPEND ({SELECT * FROM Orders} AS chapOrders
RELATE customerID TO customerID)
Per le relazioni padre-figlio non parametrizzate, ogni oggetto Recordset padre e figlio deve avere una colonna in comune per associarli. Le colonne sono denominate nella clausola RELATE, colonna padre prima e quindi colonna figlio. Le colonne possono avere nomi diversi nei rispettivi oggetti Recordset, ma devono fare riferimento alle stesse informazioni per specificare una relazione significativa. Ad esempio, gli oggetti Customers e Orders Recordset possono avere entrambi un campo customerID. Poiché l'appartenenza del recordset figlio è determinata dal comando del provider, il recordset figlio può contenere righe orfane. Queste righe orfane non sono accessibili senza ulteriore riorganizzazione.
Il data shaping aggiunge una colonna del capitolo all'oggetto recordset padre . I valori nella colonna del capitolo sono riferimenti alle righe nell'insieme di record figlio , che rispondono alla clausola RELATE. Ovvero, lo stesso valore si trova nella colonna padre della riga padre di una determinata riga così come si trova nella colonna figlio di tutte le righe del capitolo figlio. Quando nella stessa clausola RELATE vengono usate più clausole TO, vengono combinate in modo implicito usando un operatore AND. Se le colonne padre nella clausola RELATE non costituiscono una chiave per l'oggetto recordset padre , una singola riga figlia può avere più righe madri.
Quando si accede al riferimento nella colonna del capitolo, ADO recupera automaticamente il recordset rappresentato dal riferimento. Si noti che in un comando non parametrizzato, anche se l'intero Recordset figlio è stato recuperato, il capitolo presenta solo un sottoinsieme di righe.
Se la colonna accodata non ha l'alias-capitolo , verrà generato automaticamente un nome. Un oggetto Field per la colonna verrà accodato all'insieme Fields dell'oggetto Recordset, e il relativo tipo di dati sarà adChapter.
Per informazioni sull'esplorazione di un recordset gerarchico , vedere Accedere alle righe in un Recordset gerarchico.
Vedere anche
Esempio di Data Shaping
Grammatica formale delle forme
Comandi sulle forme in generale