Originariamente inviato da piero1991
ciao
potreste gentilmente indicarmi come fare per collegare una datagrid al database senza l'uso dell'ado data control
Saggia decisione!
In effetti i controlli di accesso ai dati come l'ADODC (ADO) o il DataControl (DAO) sono inutili, obsoleti e creano solo problemi.
In particolare lasciar perdere DAO!
Visto poi l'estrema semplicita di accedere ai dati senza di essi non si capisce il perchè siano ancora usati.
Ecco come fare (ti mostro una cosa semplice semplice):
Nel Progetto
Aggiungere un riferimento alla libreria di ADO: Microsoft ActiveX Data Objects 2.5, o superiore.
Se non hai molta esperienza ti consiglio la 2.5 perchè è l'utlima che rende disponibile la guida dall'IDE di VB6.
In un modulo
Conviene impostare la connessione a livello globale,
così ne basta una sola e sarà accessibile da qualsiasi punto del programma:
codice:
Public CN as ADODB.Connection
Public gsDBPath As String
Nel Form
Nell'evento Form_Load() apro la connessione
codice:
gsDBPath = App.Path & "\nometuodb.mdb"
Set CN = New ADODB.Connection
With CN
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & gsDBPath & ";Persist Security Info=False"
.CursorLocation = adUseClient
.Open
End With
Dopo di che potrai accedere ai dati con un recordset
codice:
Dim sSQL As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
sSQL = "SELECT * FROM tabella"
rs.Open sSQL, CN
Rem Mostro i dati nella griglia
Set DataGrid1.DataSource = rs
Se vuoi conoscere una miglior gestione del tutto, ti consiglio di scaricarti questi 2 esempi, che dimostrano molte caratteristiche utili, oltre a quello dell'accesso ai dati:
ProvaLogin
http://nuke.vbcorner.net/Progetti/VB...3/Default.aspx
ADO DataProject 2
http://nuke.vbcorner.net/Progetti/VB...8/Default.aspx
Ciao