이 SqlCommand
은 Sum all payments for client
입니다.하지만 지불에 문제가있는 곳은 null이거나 0입니다. 확실하지 않습니다. 하지만 여전히 동일한 예외가 발생합니다. 객체를 dbnull에서 다른 유형으로 캐스팅 할 수 없습니다.SqlCommand 결과 - dbnull에서 다른 유형으로 객체를 캐스팅 할 수 없습니다.
어떤 예외 또는 명령문으로 해결할 수 있습니까?
private void select_payments()
{
try
{
SqlCommand sc = new SqlCommand("SELECT SUM(payment) AS sumpayment FROM clientpayments WHERE subkey='" + selectid + "' AND year='" + selectedyear+ "'", con);
con.Open();
int result = Convert.ToInt32(sc.ExecuteScalar());
con.Close();
if (result != 0)
{
Convert.ToDecimal(textBox20.Text = result .ToString().Replace(',', '.'));
}
}
catch (Exception ex)
{
MessageBox.Show(" " + ex.Message.ToString());
}
}
나는 아직도이 예외를 수신하고 있습니다 :
목적은 내가이 낮은 품질의 문제 것을 알고 다른 종류의 에 DBNULL에서 캐스트 할 수없는하지만 난 아니에요내가 어떻게이 문제를 해결할 수 있는지.
시간과 답변에 감사드립니다.
아마도 SELECT SUM (ISNULL (지불, 0)) ... 지불 아마도 어떤 식 으로든 정의에 NULL을 허용해야합니다. – rheitzman