2013-10-27 37 views
-1

您好我有這樣的代碼:無法轉換從對象到字符串錯誤

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類型的,它有空值。所以當我調試時,它顯示的值爲customfield1爲「」。那麼如何將其轉換爲int並將其傳遞給我的存儲過程?

+0

有沒有從空字符串到數字的轉換。是空字符串0還是3或42? – Lachezar

回答

0

您可以直接投你dr["CustomField1"]對象的int?

foreach (DataRow dr in upCSV.Rows) 

{

詮釋? 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); 

}

+0

嗨,如果我照你說的那樣,我得到的價值不能是空的錯誤 – Ajay

+0

我改變了代碼,以你的例外 – BELotfi