C# 向具有自动递增DataColumn的DataTable添加行值
我想在数据表中添加一行,该行的数据列具有自动递增属性C# 向具有自动递增DataColumn的DataTable添加行值,c#,asp.net,C#,Asp.net,我想在数据表中添加一行,该行的数据列具有自动递增属性 DataTable tblproduct = new DataTable(); DataColumn CartItemId = new DataColumn(); CartItemId.ColumnName = "CartItemId"; CartItemId.DataType = System.Type.GetType("System.Int32"); CartItemId.AutoIncrement = true; CartItemId
DataTable tblproduct = new DataTable();
DataColumn CartItemId = new DataColumn();
CartItemId.ColumnName = "CartItemId";
CartItemId.DataType = System.Type.GetType("System.Int32");
CartItemId.AutoIncrement = true;
CartItemId.AutoIncrementSeed = 1;
CartItemId.AutoIncrementStep = 1;
CartItemId.ReadOnly = true;
CartItemId.Unique = true;
tblproduct.Columns.Add(CartItemId);
tblproduct.Columns.Add("CampaignId", typeof(int));
tblproduct.Columns.Add("SubCatId", typeof(int));
tblproduct.Columns.Add("Size", typeof(string));
tblproduct.Columns.Add("Qty", typeof(int));
tblproduct.Rows.Add(3, 345,"Hello", 1);
tblproduct.Rows.Add(5, 3455,"Hecfghhgdfllo", 8);
我不想在自动递增列中插入值。它应该是自动生成的值,但上面的代码对我不起作用。添加行时,请尝试以下操作
DataRow dr = tblproduct.NewRow();
dr["CampaignId"] = 3;
dr["SubCatId"] = 345;
dr["Size"] = "Hello";
dr["Qty"] = 1;
tblproduct.Rows.Add(dr);
tblproduct.Rows.Add(null,3, 345, "Hello", 1);
tblproduct.Rows.Add(null,5, 3455, "Hecfghhgdfllo", 8);
也来自
可以使用DataRow的ItemArray属性创建新行
类并传入一个值数组这是一个潜在问题
对于自动增量设置为true的列,因为其值为
自动生成。要使用ItemArray属性,请在
列在数组中的位置。
将代码更改为
DataRow dr = tblproduct.NewRow();
dr["CampaignId"] = 3;
dr["SubCatId"] = 345;
dr["Size"] = "Hello";
dr["Qty"] = 1;
tblproduct.Rows.Add(dr);
tblproduct.Rows.Add(null,3, 345, "Hello", 1);
tblproduct.Rows.Add(null,5, 3455, "Hecfghhgdfllo", 8);