Dunque sono già all'opera e devo dire che ASP.NET mi emoziona...

Inizio con una query di transazione, che non restituisce errori ma non aggiorna le tabelle nel db:
codice:
<%@ Page language="c#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script language="c#" runat="server">
public void UpdateWithTransactions()
{
    System.Data.SqlClient.SqlConnection cnn = new SqlConnection("Data Source=localhost;Initial Catalog=DBtest;User ID=sa;Password=1234;");
    SqlTransaction trans;
    trans = cnn.BeginTransaction();

  try
  {
      string sql1 = "Insert INTO testtable1 (testfields1) VALUES ('valore1')";
      string sql2 = "Insert INTO testtable2 (testfields2) VALUES ('valore2')";
      
    SqlCommand InsertCommand = new SqlCommand();
    InsertCommand.Connection = cnn;

    //Inizia la transazione
    InsertCommand.Transaction = trans;
    //prima query
    InsertCommand.CommandText = sql1;
    InsertCommand.ExecuteNonQuery();
    //seconda query
    InsertCommand.CommandText = sql2;
    InsertCommand.ExecuteNonQuery(); 

    //eseguo la transazione
    trans.Commit();
    Response.Write("Fine elaborazione");
  }
  catch(SqlException ex)
  {
    //se si sono verificati errori faccio il rollback
    trans.Rollback();
    Response.Write(ex.ToString());
  }
  finally
  {
    //chiudiamo sempre le connessioni!
    cnn.Close();
  }
} 

</script>
Un'altra domanda:

in asp si recupera con request form o querystring, in aspnet come si fa ???

Grazie e ciao