查询数据库中的某一张表,查询出一个DataTable,修改其中的某些值再次添加到原表中,注意是在原有的值上修改后添加到表中,,这个怎么实现呢?
 我的思路是这样的,  用户的操作实际是这样的 首先复制操作,然后是粘贴操作,在复制操作时构造一个 Insert 语句,这个语句很多,而且有些量还不确定,
在用户粘贴操作时,将不确定的量确定下,执行Insert 语句,请问还有其它方法吗?

解决方案 »

  1.   

    首先自己要知道哪些数据是要新增到数据库的,然后用insert去插入,不会就去看msdn或google
      

  2.   

    DataTable tb=new DataTable()
    tb=..........
    tb.Rows[n][k]=xxxxxx
    tb.Rows[i][h]=yyyyyy
    然后AdPater.Update更新
      

  3.   

    Adpater 怎么和 DataTable 产生关系呢?
      

  4.   

    最近 发现 个人 雷人的问题全部出现,你要明确你自己要做什么,
    DataTable 你还能手动复制 你那是扯淡那。你直接 操作 数据容器,然后 写好 SQL 语句 直接 给参数 ,通过 OLEDB 或 ADO.NET 就操作数据库被,多个 INSERT 放在 Transaction 中处理, 确保数据的 原子性。
      

  5.   


    DataTable tb=new DataTable()
    tb=..........原Table
    tb.Rows[n][k]=xxxxxx
    tb.Rows[i][h]=yyyyyy
    //修改完后OleDbDataAdapter Adapter = new OleDbDataAdapter();            using (OleDbConnection connetion = new OleDbConnection(connectionString))
                {
                    Adapter.SelectCommand = new OleDbCommand(SelectString, connetion);
                    OleDbCommandBuilder builder = new OleDbCommandBuilder(Adapter);
                    Adapter.UpdateCommand = builder.GetUpdateCommand();                Adapter.Update(tb);            }
      

  6.   

                    SqlDataAdapter adapter = new SqlDataAdapter(Sqls, SqlClass.GCon);                DataSet data = new DataSet();
                    adapter.Fill(data);
                    DataTable dt = data.Tables[0];
    这是我要修改的dt,
    在粘贴时,确定里面要修改量的值,还有重新 声明一个 adapter 吗?
      

  7.   


    using(SqlConnection cn = new SqlConnection(""))
    {
    SqlDataAdapter da = new SqlDataAdapter("Select * from Tb ", cn);
    DataSet ds = new DataSet();
    cn.Open();
    da.Fill(ds);
    cn.Close();   
    }   ds.Tables[0].Rows[0]["Name"] = "";
    cn.Open();
    SqlCommandBuilder cmd = new SqlCommandBuilder(da);
    da.Update(ds.Tables[0]);
    cn.Close();
    这样的是正确的吧?
      

  8.   

    后台获取你这条记录的值,然后再执行一次这个数据的Add方法不就可以了吗?