Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Vb.net - ADO vs DAO

  1. #1
    Utente di HTML.it L'avatar di leopard
    Registrato dal
    Nov 2009
    Messaggi
    122

    Vb.net - ADO vs DAO

    Per chi proviene da access è meglio usare ADO o DAO quale dei 2 è meglio e quale il più simile?

    grazie per i vostri consigli.

  2. #2
    DAO è una tecnologia che era già morta fin da prima di VB6, per cui se devi scegliere tra le due ovviamente ADO (che mi pare sia più o meno l'ultima tecnologia Microsoft basata su COM per l'accesso ai dati); in ogni caso, è comunque una tecnologia vecchiotta, in .NET si usa ADO.NET.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: Vb.net - ADO vs DAO

    Originariamente inviato da leopard
    Per chi proviene da access è meglio usare ADO o DAO quale dei 2 è meglio e quale il più simile?

    grazie per i vostri consigli.
    Nessuno dei due.
    Non puoi usarli perchè i loro oggetti (record, field, ecc...) non sono compatibili con i controlli in .NET.

    In .NET si usa ADO.NET.

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ho qualche esempio molto vecchio di uso di DAO e ADOX nel mondo .net (Interop.DAO, Interop.ADODB, Interop.ADOX)

    Anche se non li ho mai utilizzati, vedo che si poteva creare un database Access e le sue tabelle (non so sinceramente se si possa fare con ado.net .
    Credo che funzionasse pure il vecchio recorset

    Se proprio si ama l'archeologia antica , funzionano ancora, altrimenti Ado.Net è quello che si usa )
    Pietro

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Scusa pietro,

    dato che sono curioso, mi vuoi spiegare come connettere un ADODB.Recordset (COM) ad un DataGridView (.NET) ?
    Puoi fare un esempio di codice?

    Ovviamente intendo in pratica, non in teoria.


  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da gibra
    Scusa pietro,

    dato che sono curioso, mi vuoi spiegare come connettere un ADODB.Recordset (COM) ad un DataGridView (.NET) ?
    Puoi fare un esempio di codice?

    Ovviamente intendo in pratica, non in teoria.


    A dire la verità io non sono amante della Archeologia antica , ma, se aspetti un poco vado in soffitta a cercare il famoso libro dove c'è un mezza pagina dedicata alla transizione da ADO ad ADO.NET

    Pensandoci bene, però, forse il lavoro è meglio che lo faccia l'amico leopard: io sono un felice utilizzatore di ado.net

    Pietro

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Mi trovo meglio con una pagina web.
    Il codice di sotto crea un vecchio recordset ado di una tabella access; crea un oggetto DataGrid, lo mette nella pagina e fa vedere i dati.

    Naturalmente, come giustamente avete detto voi, non è assolutamente da usarsi oggi.
    La interoperabilità è stata pensata per tutte quelle cose "non ancora consentite in ado.net" (2003 credo)

    comunque, ESEMPIO DI CODICE DA NON USARE

    codice:
    Option Strict On
    
    
    Partial Class prove_a
        Inherits System.Web.UI.Page
    
        Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
            Dim db As ADODB.Connection = Nothing
            Dim rs As ADODB.Recordset = Nothing
    
            Try
                db = New ADODB.Connection()
                db.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dati\test\test.mdb;Persist Security Info=False")
                rs = New ADODB.Recordset()
                rs.Open(ActiveConnection:=db, CursorType:=ADODB.CursorTypeEnum.adOpenForwardOnly, Source:="select * from regioni order by nome_regione")
    
                Dim regioni As New List(Of regione)
                Do While Not rs.EOF
                    regioni.Add(New regione With {.codice_istat_regione = rs(0).Value.ToString,
                                                  .nome_regione = rs("nome_regione").Value.ToString})
                    rs.MoveNext()
                Loop
                Dim g As New GridView()
                g.DataSource = regioni
                g.DataBind()
    
                Me.Form.Controls.Add(New LiteralControl("
    
    "))
                Me.Form.Controls.Add(g)
    
    
            Finally
                If rs IsNot Nothing Then rs.Close()
                If db IsNot Nothing Then db.Close()
    
            End Try
    
    
        End Sub
    
    
        Private Class regione
            Public Property codice_istat_regione As String
            Public Property nome_regione As String
        End Class
    
    End Class
    Pietro

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Il codice che hai mostrato non ha nulla a che vedere con la mia richiesta.

  9. #9

    Moderazione

    Cosa c'entra tutto questo con la domanda originaria?
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Utente di HTML.it L'avatar di leopard
    Registrato dal
    Nov 2009
    Messaggi
    122
    Grazie a tutti.

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