Newsgroup: it.comp.www.asp
Titolo: [ASP.NET] Creare una classe per tipo di DB

Salve,
mi spiego meglio, visto che il subject e' scritto maluccio! ;)
Sto facendo un'applicazione che si connette ad un db, e fin qui ok...solo
che vorrei poter scegliere ad applicazione finita che tipo di database
utilizzare (sql server, access e forse mysql), visto che questi 3 rdbms
usano 3 namespace differenti con realtivi oggetti scrivere il codice
programmaticamente per ogni pagina mi sembra poco pulito e ottimizzato, una
cosa del tipo
If db = "access" Then
....
ElseIf db = "sqlserver" Then
....
End If
....
(naturalmente consierando db una variabile globale (forse un setting nel
web.config)
Mi e' venuto in mente di creare una classe con i relativi oggetti
connection, command, datareader, ecc... che a seconda del tipo di db
utilizzato istanzia gli oggetti giusti e li rimanda alla pagina, e'
fattibile?
Praticamente alla fine nel codice della pagina si creano degli oggetti ado
fittizzi, ma non so se si possa fare, chi mi mette in ordine la confusione
che ho in testa?
Grazie
Saluti
BES


Moderatore di it.comp.www.asp - Microsoft .NET MVP
http://www.aspitalia.com/
 Enjoy the .NET community!
http://www.dev2dev.it/
 La rete ha connesso nuove particelle!
http://www.extensible.it/
 XML and beyond

 BES
--
..A    [Microsoft MVP .NET]
UGIdotNET - User Group Italiano .NET
http://www.ugidotnet.org

 --
Fico, l'ho scaricato e provato solo in locale (non ho un server publico con
sql server) e lo credevo un po' piu' potente :)
La versione beta che stanno sviluppando e' molto migliore, aspettero' :)
Cmq ho i sorgenti del forum, gli daro' un'occhiata per cercare queste classi
per la connessione.
Io ho fatto delle piccole prove creandomi una classe connessione e una
command, il problema e' nel passaggio dalla connessione al command nella
pagina asp, alla fine gli passo il mio tipo di connessione e lui vuole
quella oledb (o sql).
Vediamo se il codice del forum mi da l'illuminazione :) Sperando di cavarci
qualcosa dal c#, gia' sono alle prime armi con 
vb.net
, quindi prima devo
tradurmi il codice, e poi capirlo! :)
Ti faro' sapere, grazie daniele
Saluti
BES


Azz... gia' ho problemi a gestirmi delle nuove classi, mi sa che qui stiamo
andando un po' troppo aldila', mi sono iscritto al sito e scaricato la demo,
vedremo se riuscirò a cavarci qualcosa :)
grazie
Saluti
BES


GRAZIE PER LA DRITTA!!
Ho dato un'occhiata all'esempio, cosi' ho scoperto la classi idbconnection,
idbcommand ecc... creati appositamente per l'implementazioni di codice
comune per i vari provider ado (ho trovato questo sulla documentazione
ms-help://MS.VSCC/MS.MSDNVS.1040/cpguide/html/cpcontheadonetcommonmodel.htm)
Cosi' ho risolto il mio problema che avevo nella creazione delle mie classi,
nelle funzioni avevo problemi sul sito di dato da restituire, ma ora ad
esempio per una connessione restituisco idbconnection e va tutto ok.
il problema e' che nel codice quando scrivo:
Dim conn as idbconnection = besADO.connessione.creaConnessione()
mi dice: "Il riferimento a un membro non condiviso richiede un riferimento a
un oggetto."
allora ho provato a creare un oggetto al quale fare riferimento:
Dim x as New besADO.connessione
Dim conn As idbconnection = x.creaConnessione()
e funziona tutto perfettamente.
- besADO e' il namespace
- connessione la classe
- creaConnessione la funzione che restituisce un tipo IDBConnection creando
un oledbconnection o sqlconnection a seconda di cosa restituisce una
variabile del web.config.
Sbaglio qualcosa nella creazione della classe o della funzione?
Boh...non sono pratichissimo, pero' non capisco dove sbaglio...
Saluti
BES