Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022

    Classe generica per connessioni

    Sto sviluppando diversi componenti per facilitarmi il lavoro. Mi chiedevo però quale fosse la soluzione migliore per adattare i vari componenti alle diverse necessità determinate dall'utilizzo di diversi database, soprattutto Access e Sql Server.
    Il problema è che in certi casi ho sviluppato utilizzando le interfacce OleDb e non Sql.
    Quindi ad es. dovrei sostituire le istruzioni OleDbCommand con SqlCommand ecc.
    Come si potrebbe ovviare questo problema? :master:

  2. #2
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Ho trovato una risposta qui
    http://www.codeproject.com/Purgatory/udal.asp

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Uno dei modi per ovviare al problema è usare le interfacce implementate dalle classi che hai citato (IDbConnection, IDbDataReader, ...), ma la soluzione non è comunque semplice dato che spesso, anche usando quei tipi generici, la mappatura avviene in modo differente rispetto alla base dati effettiva (mi riferisco, per fare un esempio, ai parametri e ai tipi di dati associabili).

    E' una questione spinosa. Io in genere costruisco due classi, che magari ereditano da una classe base, che trattino appunto le interfacce descritte sopra ma che, internamente, fanno riferimento ad una gerarchia di classi ADO.NET specifica per gestire i casi particolari.

    Non so se questo può esserti utile...

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Originariamente inviato da alka
    Uno dei modi per ovviare al problema è usare le interfacce implementate dalle classi che hai citato (IDbConnection, IDbDataReader, ...), ma la soluzione non è comunque semplice dato che spesso, anche usando quei tipi generici, la mappatura avviene in modo differente rispetto alla base dati effettiva (mi riferisco, per fare un esempio, ai parametri e ai tipi di dati associabili).

    E' una questione spinosa. Io in genere costruisco due classi, che magari ereditano da una classe base, che trattino appunto le interfacce descritte sopra ma che, internamente, fanno riferimento ad una gerarchia di classi ADO.NET specifica per gestire i casi particolari.

    Non so se questo può esserti utile...

    Ciao!
    Grazie, il tuo suggerimento è sicuramente prezioso. Ne terrò conto.

  5. #5
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Spulciando siti qua e la ho appreso che una soluzione potrebbe essere l'utilizzo della Enterprise Library 2.0 della Microsoft, che ha delle librerie proprio dedicate alla connessione "generica" ai più noti database (Data Access Application Block). Hai mai provato ad utilizzarla?
    Per ora ne so davvero poco ma vorrei approfondire. Vedi qui

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Non ho esperienza nell'uso di classi generiche per gestione database.
    Però concordo al 100% con alka.
    Pietro

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 © 2026 vBulletin Solutions, Inc. All rights reserved.