请教大家 如果我从一个Store Procedures得到一个返回的table   我怎么在C#代码中给这table添加一个新column比如叫index并且附递加的值并设置为primarykey

解决方案 »

  1.   

    我知道这么加Columns,  关键是怎么附值给每一个行  并且把这个column指定为primarykey 
      

  2.   


    用循环:for (int i = 0; i < dataTable.Rows.Count; i++)
    {
      dataTable.Rows["index"] = i + 1;
    }
      

  3.   

    DataColumn 有 属性 AutoIncrement 
    设置一下即可。
      

  4.   

    DataColumn workColumn = workTable.Columns.Add(
        "CustomerID", typeof(Int32));
    workColumn.AutoIncrement = true;
    workColumn.AutoIncrementSeed = 200;
    workColumn.AutoIncrementStep = 3;
      

  5.   

    DataTable tab = new DataTable(); DataColumn workColumn = tab.Columns.Add(
    "CustomerID", typeof(Int32));
    workColumn.AutoIncrement = true;
    workColumn.AutoIncrementSeed = 0;//自增长种子,即从0开始增长
    workColumn.AutoIncrementStep = 1;//步长,即每次增幅

    tab.PrimaryKey = new DataColumn[]{workColumn};//可设置多列
      

  6.   

    谢谢楼上的朋友们, 当我添加新columns后我,我如果用这个新的column的值呢   直接用 row.newColumn肯定是不存在的
      

  7.   

    DataTable tab = new DataTable(); DataColumn workColumn = tab.Columns.Add( 
    "CustomerID", typeof(Int32)); 
    workColumn.AutoIncrement = true; 
    workColumn.AutoIncrementSeed = 0;//自增长种子,即从0开始增长 
    workColumn.AutoIncrementStep = 1;//步长,即每次增幅 tab.PrimaryKey = new DataColumn[]{workColumn};//可设置多列object Colvalue tab.Rows[x]["CustomerID"]; //取回x行新建列的值