指定演员表无效

时间:2011-05-18 22:19:27

标签: c# asp.net sql

我正在尝试使用以下代码从我的数据库中获取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();

当我尝试运行此操作时,出现以下错误:指定的强制转换无效。 我不明白为什么我收到此错误,因为critiduserid正在给出正确的值。

2 个答案:

答案 0 :(得分:11)

您的SQL可能会返回不同的数字类型,例如longdecimal,或者显然是string

致电Convert.ToInt32,其中没有limitations of an unboxing cast

答案 1 :(得分:0)

我最初收到此错误(我的C#代码

someobject.TotalItemCount = (Int32)dbManager.GetParameterValue("TotalRows"))

其中TotalItemCount属于int类型,即使SP很好&给出了正确的结果。我通过添加以下代码来修复SP来摆脱这个问题

Set @TotalRows =  @@rowcount.