dr["description"] = ds.Tables[0].Rows[i]["组织描述"].ToString();
dr["groupuser"] = ds.Tables[0].Rows[i]["组织成员"].ToString();
dr["userid"] = AMSession.LoginUser.id;
dr["remark"] = ds.Tables[0].Rows[i]["备注信息"].ToString();
dt.Rows.Add(dr);
}
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(AMCommon.DBUtility.DbHelperSQL.connectionString);
sqlBulkCopy.DestinationTableName = "groupinfo";
sqlBulkCopy.BatchSize = dt.Rows.Count;
SqlConnection sqlConnection = new SqlConnection(AMCommon.DBUtility.DbHelperSQL.connectionString);
sqlConnection.Open();
if (dt != null && dt.Rows.Count != 0)
{
sqlBulkCopy.WriteToServer(dt);
}
sqlBulkCopy.Close();
sqlConnection.Close();
stopwatch.Stop();
------解决方案--------------------
SqlBulkCopy不是根据表的ColumnName来匹配的,而是根据ColumnIndex匹配,
也就是说你的表 字段必须跟数据库的表字段完全一致(Index的排序要跟数据表的一样)。
就算你该字段不打算给他插入值,也要建个DataColumn。包括自增ID.不需要给他值就好了