SQL 데이터베이스에서 값을 반환하려고합니다. 그러나 다음과 같은 메서드를 실행할 때마다 "InvalidCastException 처리되지 않았습니다 개체를 DBNull에서 다른 형식으로 캐스팅 할 수 없습니다."라는 오류가 발생합니다.SQL 데이터베이스에서 단일 값을 반환 할 때 C# InvalidCastException이 발생했습니다.
빛을 비추면 어떤 빛이라도 크게 받아 주실 수 있습니다. 내가 사용하는 방법은 다음과 같습니다.
감사합니다. 쿼리가 (.NET에서 DbNull
것) null
을 반환 - 오류 메시지가 분명하다 같은
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;
}
입니까? 먼저 DB에 체크인하십시오 – Pleun
코드에 액세스 할 수 있으며 디버깅 할 수 있습니까? 어떤 라인이 예외를 던지고 있는지 우리에게 말할 수 있다면 좋을 것입니다. try-catch에 메서드 코드를 랩하면 유용한 정보를 얻을 수 있습니다. – AksharRoop