我正在从大型 Excel 工作表中导入数据并将其存储在 stateTable 中。现在我必须将这些数据推送到数据库表中。该表确实有一个标识列 (1,1)。
我在 DB 中创建了一个类似的表类型和一个将参数作为表类型插入特定表的过程。我还设置了身份插入。
我的代码是:
using (SqlCommand command = new SqlCommand("InsertStateTable") {
CommandType = CommandType.StoredProcedure})
{
SqlParameter param = command.Parameters.AddWithValue("@statetable", dt);
param.TypeName = "StateTable";
param.SqlDbType = SqlDbType.Structured;
command.Connection = con;
con.Open();
command.ExecuteNonQuery();
con.Close();
}
但出现的错误是 “插入到表变量上不允许的标识列”。 我浏览了很多网站,但没有给出具体原因......
提前致谢。