guarda se così funziona
codice:
private void button1_Click(object sender, EventArgs e)
{
string StringaConnessione = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dati\test\test.mdb";
OleDbConnection connessione = null;
OleDbCommand comando = null;
OleDbTransaction transazione = null;
string sql = "";
try
{
connessione = new OleDbConnection(StringaConnessione);
connessione.Open();
transazione = connessione.BeginTransaction();
comando = connessione.CreateCommand();
comando.Transaction = transazione;
sql = "insert into clienti (nome, cognome, anni) values (?, ?, ?)";
comando.CommandText = sql;
comando.Parameters.Clear();
comando.Parameters.Add("nome", OleDbType.VarChar, 50).Value = StringNullToDBNull(this.Nome.Text);
comando.Parameters.Add("cognome", OleDbType.VarChar, 50).Value = StringNullToDBNull(this.Cognome.Text);
comando.Parameters.Add("anni", OleDbType.Integer).Value = StringNullToDBNull(this.Anni.Text);
comando.ExecuteNonQuery();
transazione.Commit();
MessageBox.Show("Dati inseriti correttamente");
}
catch (Exception ex)
{
if (((transazione != null) && (transazione.Connection != null))) transazione.Rollback();
MessageBox.Show(ex.Message);
}
finally
{
if (connessione != null) connessione.Close();
}
}
private object StringNullToDBNull(string s)
{
if (string.IsNullOrEmpty(s)) return DBNull.Value; else return s.Trim();
}