Update好像不需要自己指定insert语句吧.

解决方案 »

  1.   

                    string[] test ={ "22", "1", "A" };
                    string[] arr ={ "22", "1", "A" };
                    string[] ok ={ "22", "1", "A" };                String SqlStr = "select * from test";                //新建内存表dt
                    DataTable dt = new DataTable("test");                //建立sql适配器                SqlDataAdapter da = new SqlDataAdapter(SqlStr, con);                da.Fill(dt);                //增加数组里的数据
                    for (int i = 0; i < arr.Length; i++)
                    {
                        DataRow row = dt.NewRow();                    row["test"] = test[i];
                        row["arr"] = arr[i];
                        row["ok"] = ok[i];                    dt.Rows.Add(row);                    //显示当前行的状态                    Console.Write(row[0].ToString());
                    }                SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(da);                //建立sql数据集 并且更新数据库
                    DataSet ds = new DataSet();                ds.Tables.Add(dt);                int val = da.Update(ds, "test");                ds.AcceptChanges();
      

  2.   

    那是因为你把数据集填充之后就没有变化过:sda.Fill(ds,"tb1"); //填充数据集
    sda.Update(ds, "tb1");是对ds中有变化的表进行更新数据源,使用没有变化你当然看不到效果,
    你要是想插入,就必须使ds中的表里面的每行记录都是新增的状态才行~
      

  3.   


     DataTable dt = ds.Tables["tb_command"]; //创建一个DataTable
                sda.FillSchema(dt, SchemaType.Mapped); //把表结构加载到tb_command表中
                DataRow dr = dt.Rows.Find(txtNo.Text); //创建一个DataRow
                //设置DataRow中的值
                dr["姓名"] = txtName.Text.Trim();
                dr["性别"] = this.txtSex.Text.Trim();
                dr["年龄"] = this.txtAge.Text.Trim();
                            //实例化一个SqlCommandBuilder
                SqlCommandBuilder cmdbuider = new SqlCommandBuilder(sda);
                //调用其Update方法将DataTable更新到数据库中
                sda.Update(dt);看看关键的几句代码
      

  4.   

    SqlCommandBuilder objcb = new SqlCommandBuilder(sda);
     
      sda.Fill(ds,"tb1"); //填充数据集
    sda.InsertCommand = objcb.GetInsertCommand();
      // insert
      //sda.InsertCommand = com;  sda.Update(ds, "tb1");
    ds.AcceptChanges();