我有一个datatable,名称是"tab1"数据如下 
列名是ID,skn,“skn”列中都是正数ID skn
1 56
2 78
3 23我想用上面的"tab1"生成新datatable "tab2",在生成时“skn”列中的数据前面全部加负号,要得到的新datatable数据如下ID skn
1 -56
2 -78
3 -23
请问如何做?

解决方案 »

  1.   

    select id,-1*skn skn into tab2 from tab1
      

  2.   

    看来是我没有说清楚,我的datatable是dataset的,也不是从数据库中查询生成的。
      

  3.   

    那你就取出那列值,先转成数字,乘上-1,在添加到新的DataTable
      

  4.   

    DataTable dt=ds.Tables[0];//ds为你得到的dataset
    for(int i=0;i<dt.Rows.Count;i++)
    {
       dt.Rows[0][1]*=-1;
    }
      

  5.   

    //忘记加转型了DataTable dt=ds.Tables[0];//ds为你得到的dataset
    for(int i=0;i<dt.Rows.Count;i++)
    {
      Convert.ToInt32(dt.Rows[0][1])*=-1;
    }
      

  6.   


                DataTable tab1 = new DataTable();
                tab1.TableName = "tab1";
                tab1.Columns.Add("ID");
                tab1.Columns.Add("skn");
                tab1.Rows.Add(1, 56);
                tab1.Rows.Add(2, 78);
                tab1.Rows.Add(3, 23);
                tab1.AcceptChanges();            DataTable tab2 = tab1.Clone();
                tab2.TableName = "tab2";
                foreach (DataRow dr in tab1.Rows)
                {
                    int id = Convert.ToInt32(dr["ID"]);
                    int skn = Convert.ToInt32(dr["skn"]);
                    tab2.Rows.Add(id, -1 * skn);
                }
                tab2.AcceptChanges();