我想從SQL數據庫返回一個值。然而,每次我執行下面的方法時,我都會得到一個錯誤,指出「InvalidCastException未處理,對象無法從DBNull轉換爲其他類型。」從SQL數據庫返回單個值時出現C#InvalidCastException
你可以擺脫這種任何光將不勝感激。我正在使用的方法如下。
謝謝。
public static int ScrapTotal2(string prdTypeV, string startDateV, string prtCodeV)
{
int scrapTotal2;
SqlParameter prdType = new SqlParameter("@prdType", SqlDbType.VarChar);
prdType.Value = prdTypeV;
SqlParameter startDate = new SqlParameter("@startDate", SqlDbType.VarChar);
startDate.Value = startDateV;
SqlParameter prtCode = new SqlParameter("@prtCode", SqlDbType.VarChar);
prtCode.Value = prtCodeV;
SqlCommand scrapTotal2SC = new SqlCommand("SELECT SUM([QTY_SCRP]) FROM [TBL_PRDMST] WHERE [PRD_CODE] LIKE @prdType AND [PRD_DATE] = @startDate AND [PRT_CODE] LIKE @prtCode", DataAccess.myConnection);
scrapTotal2SC.Parameters.Add(prdType);
scrapTotal2SC.Parameters.Add(startDate);
scrapTotal2SC.Parameters.Add(prtCode);
DataAccess.myConnection.Open();
scrapTotal2 = Convert.ToInt32(scrapTotal2SC.ExecuteScalar());
DataAccess.myConnection.Close();
return scrapTotal2;
}
做你的選擇返回NULL或一個有效的價值?首先檢查數據庫 – Pleun
您是否有權訪問代碼並能夠進行調試?如果你能告訴我們哪一行拋出一個異常,那會很好。將你的方法代碼封裝在try-catch中,你會得到有用的信息。 – AksharRoop