你还是参考一下如下的代码吧:

// 
// sqlInsertCommand1
// 
this.sqlInsertCommand1.CommandText = "INSERT INTO student(stuno, name, sex, address) VALUES (@stuno, @name, @sex, @addr" +
"ess); SELECT stuno, name, sex, address FROM student WHERE (stuno = @stuno)";
this.sqlInsertCommand1.Connection = this.sqlConnection1;
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@stuno", System.Data.SqlDbType.Int, 4, "stuno"));
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@name", System.Data.SqlDbType.Int, 4, "name"));
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@sex", System.Data.SqlDbType.Int, 4, "sex"));
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@address", System.Data.SqlDbType.Int, 4, "address"));
// 
// sqlUpdateCommand1
// 
this.sqlUpdateCommand1.CommandText = @"UPDATE student SET stuno = @stuno, name = @name, sex = @sex, address = @address WHERE (stuno = @Original_stuno) AND (address = @Original_address OR @Original_address IS NULL AND address IS NULL) AND (name = @Original_name OR @Original_name IS NULL AND name IS NULL) AND (sex = @Original_sex OR @Original_sex IS NULL AND sex IS NULL); SELECT stuno, name, sex, address FROM student WHERE (stuno = @stuno)";
this.sqlUpdateCommand1.Connection = this.sqlConnection1;
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@stuno", System.Data.SqlDbType.Int, 4, "stuno"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@name", System.Data.SqlDbType.Int, 4, "name"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@sex", System.Data.SqlDbType.Int, 4, "sex"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@address", System.Data.SqlDbType.Int, 4, "address"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_stuno", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "stuno", System.Data.DataRowVersion.Original, null));// sqlDeleteCommand1
// 
this.sqlDeleteCommand1.CommandText = @"DELETE FROM student WHERE (stuno = @Original_stuno) ";
this.sqlDeleteCommand1.Connection = this.sqlConnection1;
this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_stuno", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "stuno", System.Data.DataRowVersion.Original, null));try
{
sqlDa.Update(dt.GetChanges,"customers"); 
return true;
}
catch(System.Data.SqlClient.SqlException ex)
{
myTran.Rollback();
return false;

finally
{
conn.Close();
}
//DoTran.cs……}file://执行事务处理
public void DoTran()
{
 file://建立连接并打开
 SqlConnection myConn=GetConn();
 myConn.Open();
 SqlCommand myComm=new SqlCommand(); file://SqlTransaction myTran=new SqlTransaction();
 file://注意,SqlTransaction类无公开的构造函数 SqlTransaction myTran; file://创建一个事务
 myTran=myConn.BeginTransaction();
 try
 {
  file://从此开始,基于该连接的数据操作都被认为是事务的一部分
  file://下面绑定连接和事务对象
  myComm.Connection=myConn;
  myComm.Transaction=myTran; file://定位到pubs数据库
  myComm.CommandText="USE pubs";
  myComm.ExecuteNonQuery();//更新数据
  file://将所有的计算机类图书
  myComm.CommandText="UPDATE roysched SET royalty = royalty * 1.10 WHERE title_id LIKE 'Pc%'";
  myComm.ExecuteNonQuery();
 
  file://提交事务
  myTran.Commit();
 }
 catch(Exception err)
 {
  throw new ApplicationException("事务操作出错,系统信息:"+err.Message);
  }
 finally
 {
  myConn.Close();
  }
}