none
Recordset non modificabile RRS feed

  • Domanda

  • Buonasera a tutti,

    sto provando a creare un gestore database, avendo dichiarato il recordset di una tabella, provo a modificare il dato di un campo specifico ma viene visualizzato un messaggio di errore (proprietà item è su readonly). Come faccio a modificare tale proprietà così da poter modificare i campi?  

    giovedì 9 aprile 2020 15:48

Risposte

  • Ciao Gabry, 

    Per primo - QUESTO articolo aiuterebbe. 

    Osservazioni
    Il cursore predefinito per un recordset ADO è un cursore di sola lettura e di sola lettura situato sul server.

    L'utilizzo del metodo Open su un oggetto Recordset apre un cursore che rappresenta i record di una tabella di base, i risultati di una query o un Recordset precedentemente salvato.

    Utilizzare l'argomento Source facoltativo per specificare un'origine dati utilizzando una delle seguenti opzioni: una variabile oggetto Command, un'istruzione SQL, una procedura memorizzata, un nome tabella, un URL o un nome percorso percorso file completo. Se Source è un nome percorso file, può essere un percorso completo ("c: \ dir \ file.rst"), un percorso relativo (".. \ file.rst") o un URL ("https: // file / file.rst ").

    Non è una buona idea utilizzare l'argomento Source del metodo Open per eseguire una query di azione che non restituisce i record perché non esiste un modo semplice per determinare se la chiamata ha avuto esito positivo. Il Recordset restituito da tale query 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 utilizzando i parametri specificati. Dopo aver aperto il Recordset con un cursore sul lato client impostando la proprietà CursorLocation su 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 il 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à viene letta / scritta prima dell'apertura dell'oggetto Recordset.

    Le impostazioni delle proprietà vengono utilizzate a meno che non si passino gli argomenti corrispondenti durante l'esecuzione del metodo Open. Se si passa un argomento, sovrascrive l'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.


    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    giovedì 9 aprile 2020 16:01
    Moderatore

Tutte le risposte

  • Ciao,

    il Recordset è un concetto un po' vecchiotto, del buon ADO che si usava in VB6.

    Che linguaggio usi?

    In quale ambito?

    giovedì 9 aprile 2020 16:01
  • Ciao Gabry, 

    Per primo - QUESTO articolo aiuterebbe. 

    Osservazioni
    Il cursore predefinito per un recordset ADO è un cursore di sola lettura e di sola lettura situato sul server.

    L'utilizzo del metodo Open su un oggetto Recordset apre un cursore che rappresenta i record di una tabella di base, i risultati di una query o un Recordset precedentemente salvato.

    Utilizzare l'argomento Source facoltativo per specificare un'origine dati utilizzando una delle seguenti opzioni: una variabile oggetto Command, un'istruzione SQL, una procedura memorizzata, un nome tabella, un URL o un nome percorso percorso file completo. Se Source è un nome percorso file, può essere un percorso completo ("c: \ dir \ file.rst"), un percorso relativo (".. \ file.rst") o un URL ("https: // file / file.rst ").

    Non è una buona idea utilizzare l'argomento Source del metodo Open per eseguire una query di azione che non restituisce i record perché non esiste un modo semplice per determinare se la chiamata ha avuto esito positivo. Il Recordset restituito da tale query 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 utilizzando i parametri specificati. Dopo aver aperto il Recordset con un cursore sul lato client impostando la proprietà CursorLocation su 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 il 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à viene letta / scritta prima dell'apertura dell'oggetto Recordset.

    Le impostazioni delle proprietà vengono utilizzate a meno che non si passino gli argomenti corrispondenti durante l'esecuzione del metodo Open. Se si passa un argomento, sovrascrive l'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.


    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    giovedì 9 aprile 2020 16:01
    Moderatore