SQL中的自动增量列如何在Datatable中分配

时间:2013-12-11 06:11:09

标签: c# asp.net sql-server-2008

SqlBulkCopy sqlBulk = new SqlBulkCopy(conn, SqlBulkCopyOptions.KeepIdentity, t);
sqlBulk.DestinationTableName = DestTableName;
sqlBulk.BatchSize = 1000;
sqlBulk.WriteToServer(dt);                   
t.Commit();

如果我分配了我的标识列值并且如果我没有分配它,则会出现错误“主键不允许空白”列 - 该怎么办?

1 个答案:

答案 0 :(得分:0)

请阅读以下内容:

http://www.4guysfromrolla.com/articles/102109-1.aspx

OR

using (var bulkCopy = new SqlBulkCopy(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString, SqlBulkCopyOptions.KeepNulls & SqlBulkCopyOptions.KeepIdentity))
                {
                    bulkCopy.BatchSize = (int)DetailLines;
                    bulkCopy.DestinationTableName = "dbo.myTable";
                    bulkCopy.ColumnMappings.Clear();
                    bulkCopy.ColumnMappings.Add("SourceColumnName", "DestinationColumnName");
                    bulkCopy.ColumnMappings.Add("SourceColumnName", "DestinationColumnName");


                    bulkCopy.WriteToServer(datatable);
                }