C# 如何创建自动增量列并使其自动填充

C# 如何创建自动增量列并使其自动填充,c#,sql-server,C#,Sql Server,这是我的密码: private void AddAutoIncrementColumn(DataTable dt) { DataColumn column = new DataColumn(); column.DataType = System.Type.GetType("System.Int32"); column.AutoIncrement = true; column.AutoIncrementSeed = 0; column.AutoIncreme

这是我的密码:

private void AddAutoIncrementColumn(DataTable dt)
{
    DataColumn column = new DataColumn();
    column.DataType = System.Type.GetType("System.Int32");
    column.AutoIncrement = true;
    column.AutoIncrementSeed = 0;
    column.AutoIncrementStep = 1;


    dt.Columns.Add(column);
}
我有一个现有的DataTable,希望创建一个自动递增的列。也就是说,当我创建列时,我希望它自动填充值0……x。我正在使用上面的代码。但它似乎不起作用。有什么建议吗?

试试这个

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

    // Add the column to a new DataTable.
    DataTable table = new DataTable("table");
    table.Columns.Add(column);
}

Datatable
上有一个名为
CreateDataReader
的方法。因此,克隆原始的
datatable
,添加标识列,从原始表创建
datareader
,然后用数据读取器加载克隆的表。这将在克隆表的标识列中生成数字,然后丢弃原始表并使用克隆,例如

// original data table
DataTable origDT;

// create a reader
DataReader dr = origDT.CreatDataReader();

//clone original
DataTable clonedDT = origDT.Clone();

//add identity column
clonedDT.Columns.Add(new DataColumn(){AutoIncrement=true});

//load clone from reader, identity col will auto-populate with values
clonedDT.Load(dr);

这篇文章的可能副本有一个答案,你可能想看看。这并没有回答我的问题。我有一个现有的数据表,我想在其中添加一个自动递增的列。请检查我在评论中给出的链接。希望这对你有帮助,谢谢