无法从对象转换为字符串错误

时间:2013-10-27 16:23:30

标签: model-view-controller stored-procedures

您好我有这样的代码:

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并将其传递给我的存储过程?

1 个答案:

答案 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);

}