Imports System
Imports System.Data Imports System.Data.OleDb Module Main 'Definizione della connessione Dim cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Access\NorthWind.mdb;Persist Security Info=False") Sub Main() 'richiamo il metodo per aggiornare i dati AggiornaDati End Sub Private Sub AggiornaDati ' ovviamente e' solo a titolo esemplificativo!! ' definizione di un oggetto command, si noti il nome del campo tra parentesi quadrate ' l'ho scelto perche' contiene un accento Dim cm As New OleDb.OleDbCommand("INSERT INTO Corrieri ([NomeSocieta'], [Telefono]) VALUES (?, ?)",cn) ' su oledb i parametri sono posizionali il che vuol dire che DEVONO ' essere inseriti nello stesso ordine in cui sono presenti nel Command Dim prm As New OleDb.OleDbParameter() 'ovviamente esistono delle altre modalita' di definizione 'e' il valore di default di "direction" ma impostarlo rende piu' leggibile il codice prm.Direction = ParameterDirection.Input ' il tipo da inviare e' molto importante metterlo sempre prm.DbType = DbType.String 'il valore va immesso in accordo con DbType 'se si tratta di un numero o di una data ovviamente vanno immessi dei tipi numerici o data 'SENZA alcuna conversione di formato prm.Value = "Dall'Ara Francesco'" 'si notino accento e apice 'si appendono i parametri nello stesso ordine con cui vanno a "coprire" il ? nella stringa cm.Parameters.Add(prm) prm = New OleDbParameter() prm.DbType = DbType.String prm.Value = "(555)123-456" cm.Parameters.Add(prm) Try If cn.State <> ConnectionState.Open Then cn.Open End If cm.ExecuteNonQuery Catch ex As Exception Console.WriteLine(ex.Message & Environment.NewLine & ex.StackTrace) Finally If cn.State = ConnectionState.Open Then cn.Close End If End Try End Sub End Module |