Ciao a tutti!
Ho fatto un progetto di esempio in visual studio, dove ho il mio form e due tasti, il primo mi inserisce un nuovo record nel db e il secondo mi legge tutti i record.
Ecco il codice
codice:Imports System.Data.OleDb Imports System.Windows.Forms Public Class Form1 Dim ConnString As String 'DICHIARAZIONE PERSCORSO Dim Cn As OleDbConnection 'DICHIARAZIONE CONNESSIONE Dim sql As String 'DICHIARO VARIABILE PER QUERY Dim cmd As OleDbCommand 'DICHIARO LA VARIABILE CHE ESEGUE LA QUERY Dim dr As OleDbDataReader 'DICHIARO VARIABILE CHE LEGGE IL RISULTATO DELLA QUERY Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'IMPOSTO LA CONNESSIONE AL DB ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Clienti\...\MDB\db.mdb;Persist Security Info=False" End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'AGGIORNO IL DB Cn = New OleDbConnection(ConnString) 'CREO LA NUOVA CONNESSIONE If Cn.State = ConnectionState.Open Then Cn.Close() 'SE LA CONNESSIONE è GIà APERTA LA CHUDO Cn.Open() 'APRO LA CONNESSIONE sql = "INSERT INTO TABELLA (perito) VALUES ('" & TextBox1.Text & "');" 'SCRIVO LA QUERY cmd = New OleDbCommand(sql, Cn) 'IMPOSTO LA QUERY CON LA CONNESSIONE cmd.ExecuteNonQuery() Cn.Close() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'LEGGO I RECORD Cn = New OleDbConnection(ConnString) 'CREO LA NUOVA CONNESSIONE If Cn.State = ConnectionState.Open Then Cn.Close() 'SE LA CONNESSIONE è GIà APERTA LA CHUDO Cn.Open() 'APRO LA CONNESSIONE sql = "SELECT perito FROM TABELLA" 'SCRIVO LA QUERY cmd = New OleDbCommand(sql, Cn) 'IMPOSTO LA QUERY CON LA CONNESSIONE dr = cmd.ExecuteReader 'ESEGUO LA QUERY E SCRIVO I RECORD DENTRO AL DATAREADER If dr.HasRows = True Then 'CONTIENE ALMENO UN RECORD Else 'è VUOTO End If Do While dr.Read() If dr.IsDBNull(0) Then MsgBox("ok") Else MsgBox(dr.Item(0)) End If Loop Cn.Close()
ho dichiarato nel generale le variabili di connessione, poi nel form ho impostato il percorso del db e nei singoli tasti eseguo la query.
Funziona perfettamente pero ho alcune cose da chiedere.
Quando eseguo le query con le seguenti istruzioni
cmd = New OleDbCommand(sql, Cn)
dr = cmd.ExecuteReader
questi oggetti cmd e dr si possono svuotare?
se non li svuoto occupano memoria?
quando conviene usare il dataset o datatable?
Putroppo sono nuovo di VB.NET ho sempre programmato in vb6 e sto cercando di capire!
Grazie
![]()

Rispondi quotando