日志含义将参数值string转换为IEnumerable失败
本文关键字:转换 IEnumerable 失败 string 参数 日志 | 更新日期: 2023-09-27 18:19:13
我有一本字典。我只是想抓住钥匙,用它们来更新数据库。
foreach (string key in dt.Keys)
{
var param = comm.Parameters.AddWithValue("@_AccountList", key);
var paddingParam = comm.Parameters.AddWithValue("@padding", padding);
var dateStartParam = comm.Parameters.AddWithValue("@proc_dateStart", startDate);
var dateEndParam = comm.Parameters.AddWithValue("@proc_dateEnd", endDate);
//table valued parameters
param.SqlDbType = SqlDbType.Structured;
var reader = comm.ExecuteNonQuery();
}
我的存储过程中的数据类型是varchar
,应该可以工作。我不确定它为什么要将我的键转换为IEnumerable。它是否与使用表值参数有关?
您的param
变量持有NVarChar
类型的参数(隐式地),因为key
是一个字符串,但是由于某种原因,您将其类型设置为SqlDbType.Structured
。因此,数据提供程序尝试遍历该值,但不能,因为该值只是string
类型。