方法一: Public static bool UpdateDataBase(DataSet ds, string[] tableName, string[] tempSql) { SqlConnection conn = new SqlConnection(connstring); conn.Open(); SqlTransaction tran = conn.BegainTransaction(); try { for (int i = 0; i < tableName.Length; i++) { SqlCommand cmd = new SqlCommand(tempSql[i], conn); cmd.Transaction = tran; SqlDataAdapter da = new SqlDataAdapter(cmd); SqlCommandBuilder bld = new SqlCommandBuilder(da); da.Update(ds, tableName[i]); } ds.AcceptChanges(); } catch(Exception ex) { tran.Rollback(); MessageBox.Show("数据访问异常: "+ex.ToString()); return false; } tran.Commit(); return true; } 方法二: 多个表数据变更,你最好写成存储过程吧,要是多个表有关联的话,最好是数据库内部去实现