Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Apre un cursore su un oggetto Recordset .
Sintassi
recordset.Open Source, ActiveConnection, CursorType, LockType, Options
Parametri
Fonte
Opzionale. Valore Variant che restituisce un oggetto Command valido, un'istruzione SQL, un nome di tabella, una chiamata di stored procedure, un URL o il nome di un file o un oggetto Stream contenente un oggetto Recordset archiviato in modo permanente.
ConnessioneAttiva
Opzionale. Valore Variant che restituisce un nome di variabile oggetto Connection valido o un valore String contenente i parametri ConnectionString .
TipoCursore
Opzionale. Valore CursorTypeEnum che determina il tipo di cursore che il provider deve utilizzare all'apertura dell'oggetto Recordset. Il valore predefinito è adOpenForwardOnly.
Tipo di Blocca
Opzionale. Valore LockTypeEnum che determina il tipo di blocco (concorrenza) che il provider deve usare quando si apre l'oggetto Recordset. Il valore predefinito è adLockReadOnly.
Opzioni
Opzionale. Valore Long che indica come il provider deve valutare l'argomento Source se rappresenta un oggetto diverso da un oggetto Command o che l'oggetto Recordset deve essere ripristinato da un file in cui è stato salvato in precedenza. Può essere uno o più valori CommandTypeEnum o ExecuteOptionEnum , che possono essere combinati con un operatore OR bit per bit.
Annotazioni
Se si apre un oggetto Recordset da un oggetto Stream contenente un oggetto Recordset persistente, l'utilizzo di un valore ExecuteOptionEnumdi adAsyncFetchNonBlocking non avrà alcun effetto; il recupero sarà sincrono e blocca.
Annotazioni
I valori ExecuteOpenEnum di adExecuteNoRecords o adExecuteStream non devono essere usati con Open.
Osservazioni:
Il cursore predefinito per un recordset ADO è un cursore forward-only di sola lettura che si trova nel server.
L'utilizzo del metodo Open in un oggetto Recordset apre un cursore che rappresenta i record di una tabella di base, i risultati di una query o un oggetto Recordset salvato in precedenza.
Usare l'argomento Source facoltativo per specificare un'origine dati usando una delle opzioni seguenti: una variabile oggetto Command , un'istruzione SQL, una stored procedure, un nome di tabella, un URL o un nome di percorso file completo. Se Source è un nome di percorso file, può essere un percorso completo ("c:\dir\file.rst"), un percorso relativo (".. \file.rst"), o un URL (https://files/file.rst).
Non è consigliabile usare l'argomento Source del metodo Open per eseguire una query di azione che non restituisce record perché non esiste un modo semplice per determinare se la chiamata ha avuto esito positivo. L'oggetto Recordset restituito da una query di questo tipo verrà chiuso. Per eseguire una query che non restituisce record, ad esempio un'istruzione SQL INSERT, chiamare invece il metodo Execute di un oggetto Command o il metodo Execute di un oggetto Connection .
L'argomento ActiveConnection corrisponde alla proprietà ActiveConnection e specifica in quale connessione aprire l'oggetto Recordset . Se si passa una definizione di connessione per questo argomento, ADO apre una nuova connessione usando i parametri specificati. Dopo aver aperto l'oggetto Recordset con un cursore sul lato client impostando la proprietà CursorLocationsu adUseClient, è possibile modificare il valore di questa proprietà per inviare aggiornamenti a un altro provider. In alternativa, è possibile impostare questa proprietà su Nothing (in Microsoft Visual Basic) o NULL per disconnettere l'oggetto Recordset da qualsiasi provider. La modifica di ActiveConnection per un cursore sul lato server genera tuttavia un errore.
Per gli altri argomenti che corrispondono direttamente alle proprietà di un oggetto Recordset (Source, CursorType e LockType), la relazione degli argomenti con le proprietà è la seguente:
La proprietà è di lettura/scrittura prima dell'apertura dell'oggetto Recordset .
Le impostazioni della proprietà vengono utilizzate a meno che non si passino gli argomenti corrispondenti durante l'esecuzione del metodo Open . Se si passa un argomento, esegue l'override dell'impostazione della proprietà corrispondente e l'impostazione della proprietà viene aggiornata con il valore dell'argomento.
Dopo aver aperto l'oggetto Recordset , queste proprietà diventano di sola lettura.
Annotazioni
La proprietà ActiveConnection è di sola lettura per gli oggetti Recordset la cui proprietà Source è impostata su un oggetto Command valido, anche se l'oggetto Recordset non è aperto.
Se si passa un oggetto Command nell'argomento Source e si passa anche un argomento ActiveConnection , si verifica un errore. La proprietà ActiveConnection dell'oggetto Command deve essere già impostata su un oggetto Connection o una stringa di connessione valida.
Se si passa qualcosa di diverso da un oggetto Command nell'argomento Source , è possibile utilizzare l'argomento Options per ottimizzare la valutazione dell'argomento Source . Se l'argomento Options non è definito, è possibile che si verifichino prestazioni ridotte perché ADO deve effettuare chiamate al provider per determinare se l'argomento è un'istruzione SQL, una stored procedure, un URL o un nome di tabella. Se si conosce il tipo di origine in uso, l'impostazione dell'argomento Opzioni indica ad ADO di passare direttamente al codice pertinente. Se l'argomento Options non corrisponde al tipo di origine , si verifica un errore.
Se si passa un oggetto Stream nell'argomento Source , non è consigliabile passare informazioni negli altri argomenti. In questo modo verrà generato un errore. Le informazioni di ActiveConnection non vengono mantenute quando un oggetto Recordset viene aperto da un oggetto Stream.
L'impostazione predefinita per l'argomento Options è adCmdFile se non è associata alcuna connessione all'oggetto Recordset. Questo in genere è il caso per gli oggetti Recordset archiviati in modo permanente.
Se l'origine dati non restituisce record, il provider imposta le proprietà BOF e EOF su True e la posizione del record corrente non è definita. È comunque possibile aggiungere nuovi dati a questo oggetto Recordset vuoto se il tipo di cursore lo consente.
Dopo aver concluso le operazioni su un oggetto Recordset aperto, utilizzare il metodo Close per liberare tutte le risorse di sistema associate. La chiusura di un oggetto non la rimuove dalla memoria; è possibile modificare le impostazioni delle proprietà e utilizzare il metodo Open per aprirlo di nuovo in un secondo momento. Per eliminare completamente un oggetto dalla memoria, impostare la variabile oggetto su Nothing.
Prima di impostare la proprietà ActiveConnection , chiamare Open senza operandi per creare un'istanza di un oggetto Recordset creato aggiungendo campi all'insieme RecordsetFields .
Se la proprietà CursorLocation è stata impostata su adUseClient, è possibile recuperare le righe in modo asincrono in uno dei due modi. Il metodo consigliato consiste nell'impostare Options su adAsyncFetch. In alternativa, è possibile utilizzare la proprietà dinamica "Elaborazione asincrona set di righe" nell'insieme Properties , ma gli eventi recuperati correlati possono andare persi se non si imposta il parametro Optionssu adAsyncFetch.
Annotazioni
Il recupero in background nel provider ms remote è supportato solo tramite il parametro Options del metodo Open.
Annotazioni
Gli URL che usano lo schema HTTP richiamano automaticamente il provider Microsoft OLE DB per Internet Publishing. Per altre informazioni, vedere URL assoluti e relativi.
Alcune combinazioni di valori CommandTypeEnum e ExecuteOptionEnum non sono valide. Per informazioni sulle opzioni che non possono essere combinate, vedere gli argomenti relativi a ExecuteOptionEnum e CommandTypeEnum.
Si applica a
Vedere anche
esempio di metodi Open e Close (VB)
esempio di metodi Open e Close (VBScript)
esempio di metodi Open e Close (VC++)
Esempio di metodi Save e Open (VB)
metodo Open (connessione ADO)
metodo open (record ADO)
metodo Open (flusso ADO)
metodo OpenSchema
Metodo di salvataggio