我正在尝试使用以下代码从我的数据库中获取Score_Waarde
值:
critid = critid_arr[teller2].ToString();
int scorehulp = 0;
string userid = Session["userid"].ToString();
SqlCommand cmd3 = new SqlCommand("SELECT Score_Waarde FROM Score WHERE Crit_ID = '" + critid + "' AND User_ID = '" + userid + "' ", con);
scorehulp = (int)cmd3.ExecuteScalar();
当我尝试运行此操作时,出现以下错误:指定的强制转换无效。
我不明白为什么我收到此错误,因为critid
和userid
正在给出正确的值。
答案 0 :(得分:11)
您的SQL可能会返回不同的数字类型,例如long
或decimal
,或者显然是string
。
致电Convert.ToInt32
,其中没有limitations of an unboxing cast。
答案 1 :(得分:0)
我最初收到此错误(我的C#代码
someobject.TotalItemCount = (Int32)dbManager.GetParameterValue("TotalRows"))
其中TotalItemCount
属于int
类型,即使SP很好&给出了正确的结果。我通过添加以下代码来修复SP来摆脱这个问题
Set @TotalRows = @@rowcount.