如何使用c#将标识列添加到数据表

Shi*_*iny 10 c#

如何使用c#将标识列添加到datatable.我使用Sql compact服务器.

Jos*_*own 22

你可以试试这样的事吗?

private void AddAutoIncrementColumn()
{
    DataColumn column = new DataColumn();
    column.DataType = System.Type.GetType("System.Int32");
    column.AutoIncrement = true;
    column.AutoIncrementSeed = 1000;
    column.AutoIncrementStep = 10;

    // Add the column to a new DataTable.
    DataTable table = new DataTable("table");
    table.Columns.Add(column);
}
Run Code Online (Sandbox Code Playgroud)

  • 一行版本: table.Columns.Add(new DataColumn("Id", typeof(int)) { AutoIncrement = true, AutoIncrementSeed = 1, AutoIncrementStep = 1 }); (3认同)

Sur*_*klt 7

 DataTable table = new DataTable("table");


DataColumn dc= table.Columns.Add("id", typeof(int));
        dc.AutoIncrement=true;
        dc.AutoIncrementSeed = 1;
        dc.AutoIncrementStep = 1;

// Add the new column name in DataTable

table.Columns.Add("name",typeof(string));

    table.Rows.Add(null, "A");
    table.Rows.Add(null, "B");
    table.Rows.Add(null, "C");
Run Code Online (Sandbox Code Playgroud)


小智 5

如果 DataTable 已填充。你可以使用下面的方法

void AddAndPopulateDataTableRowID(DataTable dt, string col, bool isGUID)
    {
        if(isGUID)
            dt.Columns.Add(col, typeof(System.Guid));
        else
            dt.Columns.Add(col, typeof(System.Int32));

        int rowid = 1;
        foreach (DataRow dr in dt.Rows)
        {
            if (isGUID)
                dr[col] = Guid.NewGuid();
            else
                dr[col] = rowid++;
        }

    }
Run Code Online (Sandbox Code Playgroud)