以前经常用sql语句(update)更新数据库,有使用用起来不是很方便,特别是数据量比较大的情况下(比如数据表)很麻烦~~后来感觉用DataSet更新数据库是不错的选择.于是急着写了一个用ataSet更新数据库的类
  如下:(后面有使用说明,总结)
  using System;
  using System.Data;
  using System.Data.SqlClient;
  using System.Windows.Forms;
  namespace winApplication
  {
  public class sqlAccess
  {
   //与SQL Server的连接字符串设置
   private string _connString;
   private string _strSql;
private SqlCommandBuilder sqlCmdBuilder;
   private DataSet ds = new DataSet();
   private SqlDataAdapter da;
   public sqlAccess(string connString,string strSql)
   {
   this._connString=connString;
   }
private SqlConnection GetConn()
   {
   try
   {
   SqlConnection Connection = new SqlConnection(this._connString);
   Connection.Open();
   return Connection;
   }
   catch (Exception ex)
   {
   MessageBox.Show(ex.Message,"数据库连接失败");
   throw;
   }
   }
//根据输入的SQL语句检索数据库数据
   public DataSet SelectDb(string strSql,string strTableName)
   {
   try
   {
   this._strSql = strSql;
   this.da = new SqlDataAdapter(this._strSql,this.GetConn());
   this.ds.Clear();
   this.da.Fill(ds,strTableName);
   return ds;//返回填充了数据的DataSet,其中数据表以strTableName给出的字符串命名
   }
   catch (Exception ex)
   {
   MessageBox.Show(ex.Message,"数据库操作失败");
   throw;
   }
   }
//数据库数据更新(传DataSet和DataTable的对象)
   public DataSet UpdateDs(DataSet changedDs,string tableName)
   {
   try
   {
   this.da = new SqlDataAdapter(this._strSql,this.GetConn());
   this.sqlCmdBuilder = new SqlCommandBuilder(da);
   this.da.Update(changedDs,tableName);
   changedDs.AcceptChanges();
   return changedDs;//返回更新了的数据库表
   }
   catch (Exception ex)
   {
   MessageBox.Show(ex.Message,"数据库更新失败");
   throw;
   }
   }
  使用说明总结:
  1. GetConn方法创建一个数据库连接,返回SqlConnection。
  2.使用的select命令中必须包含主键,这点大家都知道的!
  3. this.da.Fill(ds,strTableName) 填充数据集
  4.构造CommandBuilder对象时,将DataAdapter对象作为构造函数参数传入:
   this.sqlCmdBuilder = new SqlCommandBuilder(da);
  5. 在调用UpdateDs()更新数据库前,请检查changedDs是否已经被更新过,用changedDs.[tableName] GetChanges() != null;
  6.用this.da.Update(changedDs,tableName)方法更新数据,然后调用changedDs.AcceptChanges()才能真正的更新数据库,调用 changedDs.RejectChanges() 取消更新。 

 public static int UpdateDataset(string connectionString, DataSet ds, string tableName, string selectCommand)
        
{
            SqlDataAdapter adapter 
= new SqlDataAdapter(selectCommand, connectionString);
            SqlCommandBuilder cmdBuilder 
= new SqlCommandBuilder(adapter);

            
int val = adapter.Update(ds, tableName);
            ds.AcceptChanges();
            
return val;
        }