Newsgroup: it.comp.lang.visual-basic
Titolo: classe

sto scoprendo le classi, prima di avventurarmi in un viaggio senza ritorno
volevo avere una informazione.
Avevo intenzione di fare una classe per gestire le operazioni più comuni che
faccio sul database.
In vb6 è possibile all'interno di una classe utilizzare Ado?
dal manuale mi sembra di capire di no, mancando l'ereditarietà, non posso
utilizzare all'interno di una classe un'altra classe (ad esempio l'oggetto
ado).
sto facendo confusone vero?
beh, normale, fino ad ora l'unica classe che sono riuscito a fare fa il
calcolo dell'importo totale passando quantità e prezzo..
WOOOWWW!
Ciao

 ado).
Non Puoi usare una classe dentro un Classe ma Un Ogetto Dentro Una Classe Si
La calma e la virtu dei forti
Modulo di classe
Option Explicit
Private db As New ADODB.Connection
Private rs As New ADODB.Recordset
Public Function ApriDb(DSN As String, RSnome As String)
db.Open DSN
rs.Open RSnome, db
If Err.Number = 0 Then
MsgBox ("OK")
End If
End Function
Modulo del Form1
Option Explicit
Private db As Base
Private Sub Command1_Click()
strDSN As String
Set db = New Base
strDSN= "DSN=" & Text1
db.ApriDb strDSN, "SELECT * FROM tavolaBaseDato"
End Sub
Il rimante te lo lascio a te :))
Ciao L'Oriundo

 sto facendo confusone vero?
Si ado nelle classi funziona benissimo o meglio funziona normalmente! :-)

Perchè devi ereditare??? Sei percaso un parente?
Scherzi a parte ... butti Ado nella tua classe e funziona
allo stesso modo che se sta nel form, in un modulo ecc.ecc.
Quello che devi fare tu è una classe di supporto per ado,
ovvero una serie di operazioni che faresti comunemente
con ado nei tuoi form e appiccicarla nella classe creandoti
metodi, proprietà e funzioni.
Di li  poi a farti una dll ci passa poco ... però hai il vantaggio
di avere il codice scritto una volta e solo quella.
Ciao Andrea

 ha scritto nel messaggio
news:Gdum8.55983$1S3.1...@twister1.libero.it...

Poche idee .. ma confuse anche quelle :)
Scherzi a parte ..
Si può usare ADO in una classe user ? Si .. senza problemi
Si possono ereditare proprietà - metodi ed eventi da ADO in una user class ?
: in VB6 no.. in 
VB.NET
 si
Saluti

 ha scritto nel messaggio
news:Gdum8.55983$1S3.1...@twister1.libero.it...
Però se io volessi fare ad esempio un metodo che mi apra la connessione ad
un database, la connessione per poter essere utilizzata dovrà essere
pubblica, quindi perderei l'incapsulamento!
!!!!!
Del resto non ha senso gestire la connessione al database con una classe, è
più logico gestire queste cose in un modulo normale.
Comunque per la cronaca, ero curioso di provare (a livello didattico sapevo
che mi sarebbe servito) e mi è venuto fuori questo.
NEL MODULO DI CLASSE
Option Explicit
Private strPercDb As String
Public cn As ADODB.Connection
Public Property Get percDb() As String
percDb = strPercDb
End Property
Public Property Let percDb(ByVal strpercdb2 As String)
strPercDb = strpercdb2
End Property
Public Function Apri(Optional strPath As String)
Set cn = New ADODB.Connection
If strPath = "" Then
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPercDb & ";jet
oledb:database password=rac1306"
Else
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & ";jet
oledb:database password=rac1306"
End If
End Function
Public Function Chiudi()
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPercDb & ";jet
oledb:database password=rac1306"
End Function
IN UN FORM
Option Explicit
Public prova As New DbConnect
Private Sub Command1_Click()
Set prova = New DbConnect
prova.percDb = "z:\documenti\programmivsb\db\db.mdb"
prova.Apri
'oppure prova.apri("z:\documenti\programmivsb\db\db.mdb")
End Sub
Lo so che è inutile, però era a scopo didattico che lo facevo...
Prima capire.... poi fare....
Ciao

 : in VB6 no.. in 
VB.NET
 si
Ora mi è tutto molto più chiaro, praticamente l'ereditarietà significa poter
utilizzare inglobandoli, in una propria classe metodi e proprietà di
un'altra, ereditandoli appunto.
capisco ora che quello che avevo chiesto non aveva nulla a che fare con
ereditarietà, perchè appunto io non chiedevo di  utilizzare i metodi e le
proprietà di ADO nella mia classe, implementandoli, come se fossero i miei,
ma utilizzare Ado come strumento all'interno della classe stessa.
Scusate il rigiro di parole ma spero che qualcuno mi abbia compreso.
Grazie a tutti very very TANT!
Ciao

 !!!!!
Se hai visto il mio post avrai notata che non espongo ogetto Conetion
quindi tutto resta nascosto e incapsulato
Ciao L'Oriundo