JavascriptProva

venerdì 20 aprile 2018

VB.NET: connessione a un database e importazione di una tabella

Un po' di esercizio con i database in vb.net.
Salvo il mio codice che si è dimostrato in grado di riportare il contenuto dei record di una tabella di database:
Imports System.Data.OleDb
Public Class Form1

    Dim con As OleDbConnection
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        If Not con.State = ConnectionState.Open Then
            con.Open()
        End If

    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load

        con = New OleDb.OleDbConnection
        con.ConnectionString = "Provider=microsoft.jet.oleDB.4.0; data source = c:\tavoloDB.mdb"

        If Not con.State = ConnectionState.Open Then
            con.Open()
        End If

        Dim da As New OleDb.OleDbDataAdapter("SELECT * FROM Tabella", con)
        Dim dt As New DataTable
        da.Fill(dt)

        Debug.Print(dt.Rows(1)("nome").ToString)
        'Me.dgv.DataSource = dt

        con.Close()
    End Sub
End Class
Distruggo tutto.

Ora riscrivo il codice da zero: innanzitutto la stringa di connessione...

Ecco, prima devo dichiarare la nuova connessione, e quindi attribuirle la stringa.
Ma per prima cosa devo importare System.Data.dbOle.
Imports System.Data.OleDb
Public Class Form1
    Dim con As New OleDb.OleDbConnection
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        con.ConnectionString = "Provider=microsoft.jet.oleDB.4.0; data source=C:\tavoloDB.mdb"

    End Sub
End Class
Ora devo decidere quando aprire la connessione.
Facciamo al click del pulsante...

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If Not con.State = ConnectionState.Open Then
            con.Open()
        End If
    End Sub
Ecco la formula "rituale" per aprire la connessione al database se non è già aperta.

Ora come identifico la tabella?
Tengo presente che devo creare un oggetto tabella che deve essere riempito da un adapter.
Comincio con l'adapter.
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If Not con.State = ConnectionState.Open Then
            con.Open()
        End If
        Dim da As New OleDb.OleDbDataAdapter("SELECT * FROM Tabella", con)

    End Sub
Quindi devo creare l'oggetto tabella, il cui tipo è DataTable, e riempirla con l'adapter da.
        Dim da As New OleDb.OleDbDataAdapter("SELECT * FROM Tabella", con)
        Dim dt As New DataTable
        da.Fill(dt)
Proviamo a scrivere il campo "nome" del primo record della tabella...
        Dim da As New OleDb.OleDbDataAdapter("SELECT * FROM Tabella", con)
        Dim dt As New DataTable
        da.Fill(dt)
        Debug.Print(dt.Rows(0)("nome").ToString)
Vediamo se funziona...

CICCIO

Funziona!

Rompo e ricostruisco il Mandala...

Bene il secondo tentativo.
Ora lo replico in video.

Nessun commento:

Posta un commento