Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Classe di Accesso ai Dati
mercoledì 29 settembre 2004 - 10.24
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Leo
Profilo
| Junior Member
73
messaggi | Data Invio:
mer 29 set 2004 - 10:24
Buongiorno a tutti!
Sto cercando di fare una classe per l'accesso ai dati , volevo un vostro consiglio considerando chenon ho molta esperienza con le classi e sono bene quanto siano fondamentali in .net.
allora per prima cosa nella classe setto le proprieta' della connessione al database , quindi il database,datasource,utente,password in questo modo :
Public Class Connection
Private sProvider As String
Private sDataSource As String
Private sDatabase As String
Private sUserID As String
Private sPassWord As String
Public WriteOnly Property Provider() As String
Set(ByVal Value As String)
sProvider = Value
End Set
End Property
Public Property DataSource() As String
Get
Return sDataSource
End Get
Set(ByVal Value As String)
sDataSource = Value
End Set
End Property
Public Property DataBase() As String
Get
Return sDatabase
End Get
Set(ByVal Value As String)
sDatabase = Value
End Set
End Property
Public WriteOnly Property UserID() As String
Set(ByVal Value As String)
sUserID = Value
End Set
End Property
Public WriteOnly Property PassWord() As String
Set(ByVal Value As String)
sPassWord = Value
End Set
End Property
Poi successivamente ho fatto una funzione che costruisce la riga di connessione a seconda del provider :
Public Sub SetProvider()
If sProvider = "MYSQL" Then
ConnString = "Data Source=" + sDataSource + ";Database=" + sDatabase + ";" + "User ID=" + sUserID + ";Password=" + sPassWord + ";"
End If
If sProvider = "ACCESS" Then
.......
End If
If sProvider = "SQLSERVER" Then
........
End If
End Sub
E poi le 2 funzioni che utilizzo per l'apertura e chiusura del database :
Public ConnString = "Data Source=" + sDataSource + ";Database=" + sDatabase + ";" + "User ID=" + sUserID + ";Password=" + sPassWord + ";"
Public Conn As New MySqlConnection(ConnString)
Public Sub Open()
Try
Conn.Open()
Catch err As MySqlException
Write(err.Message, err.ToString, err.Source)
End Try
End Sub
Public Sub Close()
Try
Conn.Close()
Conn.Dispose()
Catch Err As Exception
Dim u As New Log
u.Ins(Err.Message, Err.ToString, Err.Source)
End Try
End Sub
Ecco il problema e' questo, dop che all'apertura del progetto ho inizializzato la classe con tutti i suoi dati quando poi la vado ad utilizzare per aprire la connessione i dati che gli ho passato (database,provider,utente,password...) non ci sono piu' .. come faccio per memorizzarli definitivamente all'interno della classe ??
io inizializzo la classe in un SubMain in questo modo :
Public Sub main()
Dim odbc As New connection
odbc.Provider = "MYSQL"
odbc.DataSource = "127.0.0.1"
odbc.DataBase = "test"
odbc.UserID = "root"
odbc.PassWord = ""
odbc.SetProvider()
Application.Run(New MainForm)
End Sub
Vi sembra corretto tutto questo?
Avete dei sufferimenti e costruire una classe di questo tipo ?
Come faccio a memorizzare i parametri settati all'inizio?
Vi ringrazio per qualsiasi risposta!!
ciao
Mirco
LeonDom
Profilo
| Senior Member
471
messaggi | Data Invio:
mer 29 set 2004 - 12:03
Mi pare che manchi qualcosa nella classe... ????
Io di solito inserisco una Sub New(parametri) che inserirai nelle var_membro.
Sub New(parametri)
MyBase.New()
m_variabile_1
m_variabile_2
m_variabile_3
etc etc
End Sub
In questo modo i parametri che passi alla tua classe saranno nelle variabili membro.
LeonDom
LeonDom
Profilo
| Senior Member
471
messaggi | Data Invio:
mer 29 set 2004 - 12:06
Mi sono scordato un pezzo:
Sub New(parametri)
MyBase.New()
m_variabile_1 = par_1
m_variabile_2 = par_2
m_variabile_3 = par_3
etc etc
End Sub
bye
LeonDom
Leo
Profilo
| Junior Member
73
messaggi | Data Invio:
mer 29 set 2004 - 14:13
Ciao LeoDom,
scusami ma questo pezzo lo inserisco nella classe che ho fatto oppure quando la richiamo ?
e come gli passo i parametri ?
scusa la banalita' delle domande .. ma sono confuso!!
ciao e grazie!
Mirco
LeonDom
Profilo
| Senior Member
471
messaggi | Data Invio:
mer 29 set 2004 - 15:49
Anche io sto come te... ma già ho avuto lo stesso problema.
Questo pezzo di codice è esatto, dichiari le variabili membro che conterranno i dati che gli passerai da codice...
Public Class Connection
Private sProvider As String
Private sDataSource As String
Private sDatabase As String
Private sUserID As String
Private sPassWord As String
poi devi metter un costruttore della classe: e cioè il codice che ti ho scritto prima:
Sub New(par_1 as string, par_2 as string, par_3 as string)
MyBase.New()
m_variabile_1 = par_1
m_variabile_2 = par_2
m_variabile_3 = par_3
End Sub
In questo modo inizializzi le tue variabili membro con i parametri che gli passi:
dim miaClasse as new Connection
e così via....
Spero di essermi spiegato...
LeonDom
Leo
Profilo
| Junior Member
73
messaggi | Data Invio:
mer 29 set 2004 - 15:57
ok LeonDom, ho capito .. e scusami se insisto .. ma tanto per essere chiri al posto di Par_1 che passo al costruttore , gli passo per esempio il provider (nel mio caso sProvider) e poi lo associa alla variabile m_variabile_1
Sub New(Provider as string, DataSource as string, DataBase as string)
MyBase.New()
m_variabile_1 = Provider
m_variabile_2 = DataSource
m_variabile_3 = DataBase
End Sub
Giusto cosi'?
ciao e grazie di tutto!!!
Mirco
LeonDom
Profilo
| Senior Member
471
messaggi | Data Invio:
mer 29 set 2004 - 16:02
Esatto...!!!
Prova così...
LeonDom
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !