用DataSet方式更新数据库表

/*  用DataSet的方式更新数据库表
 *  注意:用DataSet更新数据库表的时候,该表必须指定主键或者是唯一列
 */ 
string connString = "Data Source=(local);Initial Catalog=Linq;Integrated Security=SSPI";//用windows用户登录
using (SqlConnection conn = new SqlConnection(connString))
{
    conn.Open();
    using (SqlCommand cmd = conn.CreateCommand())
    {
        cmd.CommandText = "select * from orders";
        DataSet dataset = new DataSet();
        SqlDataAdapter adapter = new SqlDataAdapter(cmd);
        /*把查询出来的结果填充到dataset中,并指定一个表面:orders
         *注意:
         *      如果不指定表名,直接用adapter.Fill(dataset)得方式填充,DataTable接收的时候根据索引号
         *      DataTable table = dataset.Tables[0];
         */
        adapter.Fill(dataset,"orders");
        DataTable table = dataset.Tables["orders"];
        //把第一行数据的城市更新为“攀枝花”
        DataRow row = table.Rows[0];
        row["city"] = "攀枝花";
        /* builder:用户更新数据库的时候自动创建SqlCommand
         * 具体可以查看:
         *      builder.GetUpdateCommand();
         *      builder.GetInsertCommand();
         *      builder.GetDeleteCommand();
         */
        SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
        /* 这里update的时候可以有多种方式:
         *      adapter.Update(dataset,"orders");指定dataset的表名更新
         *      adapter.Update(table");更新table
         *      adapter.Update(dataset);直接更新整个dataset
         */
        adapter.Update(dataset,"orders");
        Console.WriteLine("更新成功");
        Console.ReadKey();
    }
}

 

posted on 2016-04-21 11:46  yangyong0615  阅读(885)  评论(0编辑  收藏  举报

导航