zoukankan      html  css  js  c++  java
  • SqlDataAdapter.Update()方法与SqlCommandBuilder

    用SqlDataAdapter操纵数据集时最常用到的就是Fill()与Update()方法。

    Fill()填充DataSet或DataTable,而Update()就是将DataSet或DataTable中的改变更新到数据库中。若没有用Update()方法,DataSet或DataTable中数据的改变并不会影响数据库中的数据。

    示例:用SqlDataAdapter填充DataTable,这里用的是Northwind数据库中的Employees表

    string strcon1 = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True";

                using (SqlConnection conn = new SqlConnection(strcon1))

                {

                    conn.Open();

                    string strsql = "select * from employees";

                    SqlCommand cmd = new SqlCommand(strsql, conn);

                     ad = new SqlDataAdapter();

                    ad.SelectCommand = cmd;

                    dt = new DataTable("employees");

                    ad.Fill(dt);

                    ds = new DataSet();

                    ds.Tables.Add(dt);

                    this.dataGridView1.DataSource = ds.Tables[employees];

               

    增加一行记录:

    //新增加一行

                    DataRow newRow = dt.NewRow();

                    newRow["EmployeeID"] = 11;

                    newRow["LastName"] = "Bill";

                    newRow["FirstName"] = "Gata";

                    dt.Rows.Add(newRow);

    更新:用Update更新时提示要有SqlDataAdapter的InsertCommand ,这里我们可以用SqlCommandBuilder自动为我们生成

                    //使用SqlCommandBuilder自动生成带有Insert语句的InsertCommand

                    SqlCommandBuilder cb = new SqlCommandBuilder(ad);

                    ad.InsertCommand = cb.GetInsertCommand();

                    //将DataSet中的数据更新到数据库中

                    ad.Update(ds, "employees");

    }

  • 相关阅读:
    如何理解和计算活跃度。做了张脑图。欢迎大家提意见
    在虚拟服务器调试castle项目
    生成缩略图
    自己写的分页函数
    asp.net2.0 自带的邮件发送
    在.NET下如何用WebService实现身份认证,及如何跟踪用户的访问,如类似Possport的功能,不会还是用Session吧?
    邮箱验证
    ASP.NET菜鸟之路之Request小例子
    ASP.NET菜鸟之路之Seesion小例子
    ASP.NET菜鸟之路之Response小例子
  • 原文地址:https://www.cnblogs.com/bobo41/p/3096467.html
Copyright © 2011-2022 走看看