您好我有这样的代码:
foreach (DataRow dr in upCSV.Rows)
{
ObjectParameter getCustomField1 = new ObjectParameter("CustomField1", String.IsNullOrEmpty(dr["CustomField1"]) ? null : Convert.ToInt32(dr["CustomField1"]));
var results = ordertable.usp_AppUpdateUserData(Convert.ToInt32( getCustomField1) )
}
这里我收到错误无法从对象转换为字符串。
这里Customefield1是int类型,它具有null值。因此,当我调试时,它将customfield1的值显示为“”。那么如何将其转换为int并将其传递给我的存储过程?
答案 0 :(得分:0)
您可以将dr["CustomField1"]
对象直接投射到int?
:
foreach (DataRow dr in upCSV.Rows)
{
INT? CustomField1 = dr [“CustomField1”]为int ?;
ObjectParameter getCustomField1;
if (CustomField1.HasValue)
{
getCustomField1 = new ObjectParameter("CustomField1", CustomField1);
}
else
{
getCustomField1 = new ObjectParameter("CustomField1", typeof(global::System.Int32));
getCustomField1.Value = DBNull.Value;
}
var results = ordertable.usp_AppUpdateUserData(getCustomField1);
}