Record e flussi

ADO fornisce attualmente l'oggetto Recordset come mezzo primario per accedere alle informazioni nelle origini dati, ad esempio database relazionali. Tuttavia, alcuni provider supportano gli oggetti Record e Stream come oggetti alternativi o complementari con i quali è possibile modificare i dati dai provider. Per informazioni specifiche sul comportamento dell'oggetto Record, vedere la documentazione del provider.

Record

Gli oggetti Record funzionano essenzialmente come Recordset di una riga. Tuttavia, i Record hanno funzionalità limitate rispetto ai Recordset e hanno proprietà e metodi diversi. L'origine dei dati in un oggetto Record può essere un comando che restituisce una riga di dati dal provider. L'uso di oggetti Record anziché oggetti Recordset per ricevere i risultati da una query che restituisce una riga di dati elimina il sovraccarico dell'istanza dell'oggetto Recordset più complesso.

Gli oggetti Record possono servire a un altro scopo, in particolare con provider per origini dati diverse dai database relazionali tradizionali, ad esempio il provider Microsoft OLE DB per Internet Publishing. Gran parte delle informazioni che devono essere elaborate esiste, non come tabelle nei database, ma come messaggi nei sistemi di posta elettronica e come file nei file system moderni. Gli oggetti Record e Stream facilitano l'accesso alle informazioni archiviate in origini diverse dai database relazionali.

L'oggetto Record può rappresentare e gestire dati, ad esempio directory e file in un file system o cartelle e messaggi in un sistema di posta elettronica. A tale scopo, l'origine per Record può essere la riga corrente di un Recordset aperto, un URL assoluto o un URL relativo insieme a un oggetto Connection aperto.

In genere, un oggetto Recordset può essere usato per rappresentare un contenitore o un elemento padre in una gerarchia, ad esempio una cartella o una directory. Un Record può essere usato per restituire informazioni specifiche su un nodo nel contenitore padre, ad esempio un file o un documento. Il motivo principale per cui i Record vengono usati per rappresentare questo tipo di informazioni è che queste origini di dati sono eterogenee. Ciò significa che ogni Record può avere un set e un numero di campi diverso. I Recordset tradizionali contenenti righe di un database sono omogenei, il che significa che ogni riga ha lo stesso numero e tipo di campi.

Per altre informazioni sull'uso dell'oggetto Record per l'elaborazione di questi dati eterogenei da provider come il provider di Internet Publishing, vedere Uso di ADO per Internet Publishing.

Flussi

L'oggetto Stream fornisce i mezzi per leggere, scrivere e gestire un flusso di byte. Questo flusso di byte può essere di testo o binario e le sue risorse sono limitate solo dalle risorse di sistema. In genere, gli oggetti ADO Stream vengono usati ai fini seguenti:

  • Per contenere i dati di un oggetto Recordset salvato in formato XML. Questi flussi XML da Recordset salvati possono essere usati come origine quando si apre un nuovo oggetto Recordset. Per altre informazioni, vedere Flussi e persistenza.

  • Per contenere CommandStream da eseguire nel provider come alternativa a CommandText. Ad esempio, gli UpdateGram XML possono essere usati come origine per un comando sul provider Microsoft OLE DB per SQL Server.

  • Per ricevere i risultati dal provider in un formato diverso da un oggetto Recordset, ad esempio i risultati XML del provider Microsoft OLE DB per SQL Server. Per altre informazioni, vedere Recupero di set di risultati nei flussi.

  • Per contenere il testo o i byte che comprendono un file o un messaggio, in genere usati con provider come il provider Microsoft OLE DB per Internet Publishing. Per altre informazioni su questo utilizzo di oggetti Stream, vedere Uso di ADO per Internet Publishing.

È possibile aprire un oggetto Stream su:

  • Un file semplice specificato con un URL.

  • Un campo di un oggetto Record o Recordset contenente un oggetto Stream.

  • Flusso predefinito di un oggetto Record o Recordset che rappresenta una directory o un file composto.

  • Un campo risorsa contenente l'URL di un file semplice.

  • Nessuna origine specifica. In questo caso, un oggetto Stream viene aperto in memoria. I dati possono essere scritti al suo interno e quindi salvati in un altro Stream o file.

  • Un campo BLOB in un oggetto Recordset.

Questa sezione descrive gli argomenti seguenti: