Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: [VB6] Oggetti ADODB

  1. #1

    Oggetti ADODB

    Le istruzioni
    codice:
    Set Databeis = CreateObject("ADODB.Connection")
    Set Tabella = CreateObject("ADODB.Recordset")
    sono TOTALMENTE sostituibili da
    codice:
    Dim Databeis As New ADODB.Connection
    Dim Tabella As New ADODB.Recordset

  2. #2
    veramente i 2 modi sebbene creino entrambi gli oggetti non fanno esattamente la stessa cosa
    infatti il New restituisce solo un indirizzo di memoria allocata mentre il createobject chiede a COM di fare tutto il lavoro rallentando la cosa perdipiù scrivendo

    codice:
    Set Tabella = CreateObject("ADODB.Recordset")
    perdi la possibilità di sfruttare gli eventi della classe recordset

    codice:
    Dim withevents Tabella As ADODB.Recordset
    set tabella = new ADODB.Recordset
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    Originariamente inviato da xegallo
    perdi la possibilità di sfruttare gli eventi della classe recordset
    [/code]
    nn ho capito qui cosa intendi...
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  4. #4
    Non ho capito neanch'io!
    Spiegati meglio e spiega le due righe di codice nel secondo "code", per favore.

  5. #5
    la classe recordset rende disponibili alcuni eventi tra i quali FetchComplete che si scatena al termine della query,
    FetchProgress che restituisce la percentuale di elaborazione, ecc

    per usare gli eventi di una classe bisogna dichiararla

    dim withevents nome as tipo

    la parola chiave withevents si deve dichiarare dentro ad un form e aggiunge l'oggetto dichiararto nella tendina in altro a sinistra e i relativi eventi in quella di destra

    con withevents non si possono creare matrici di oggetti e non si può inizializzare nella dichiarazione
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  6. #6
    OK.
    Ma che differenza c'è fra
    codice:
    Dim Tabella As ADODB.Recordset
    e
    codice:
    set tabella = new ADODB.Recordset
    ?

    E poi ... devo abbandonare per sempre CreateObject con database e tabelle?

  7. #7
    aspetta la prima
    codice:
    Dim Tabella As ADODB.Recordset
    alloca un'area di memoria per l'oggetto recordset

    la seconda
    codice:
    set tabella = new ADODB.Recordset
    inizializza l'oggetto restituendogli l'area di memoria allocata

    esiste una forma contratta

    codice:
    Dim Tabella As New ADODB.Recordset
    che dimensiona e inizializza l'oggetto

    Usando la direttiva WithEvents non si può usare la forma contratta è necessario usare quella estesa, ma ti permette di accedere agli eventi della classe
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  8. #8
    Ma con i tuoi metodi non mi funziona
    codice:
    Conn.Execute (stringaSQL)
    Devo per forza creare l'oggetto Conn con CreateObject.

  9. #9
    Originariamente inviato da buburp
    Ma con i tuoi metodi non mi funziona
    codice:
    Conn.Execute (stringaSQL)
    Devo per forza creare l'oggetto Conn con CreateObject.
    i miei metodi :rollo:

    1) Conn.Execute stringaSQL
    2) la connessione è aperta?
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  10. #10
    Sì, è aperta, ma se Conn la inizializzo con
    codice:
    Dim Conn As New ADODB.Connection
    anziché col classico
    codice:
    Set Conn = CreateObject("ADODB.Connection")
    l'esecuzione della query SQL non va.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.