我嘗試使用下面的代碼從我的數據庫中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
正在給出正確的值。
與調試器連接,什麼樣的價值*被*退換嗎?如果它的類型是不'System.Int32'那麼就會可怕死。(例如,如果它返回一個'long'或'字節'它不會工作。)最好的窪Ÿ查找/修復是爲了檢查檢查的假設;並在此處使用調試器將跳過20個步驟:-) – 2011-05-18 22:21:45
您可以嘗試[Int32.Parse](http://msdn.microsoft.com/zh-cn/library/b3h1hf19.aspx)返回值的字符串表示形式。但要小心'空'值。 'Int32.Parse(cmd3.ExecuteScalar()。ToString())' – 2011-05-18 22:26:31
你應該檢查返回值不是'DBNull'。 – 2011-05-18 22:27:09