将值传递给SQL命令参数错误
有人可以告诉我,为什么我在这里得到错误。 如果将值传递给此行的参数
int qID = 10087;
将值传递给SQL命令参数错误
它工作正常,但是当我尝试这一行
int qID = Int32.Parse(corr [0]);
它给了我错误(失败),其余代码在两种情况下都是相同的。这里可能有什么问题?
int pID1 = 102;
//int qID = 10087;
int qID = Int32.Parse(corr[0]);
using (var cn1 = new SqlConnection(WebConfigurationManager.ConnectionStrings["lConn"].ConnectionString))
{
cn1.Open();
string sql1 = "SELECT DISTINCT Q FROM QATXT WHERE S= @pID AND [email protected] ";
SqlCommand cmd1 = new SqlCommand(sql1, cn1);
cmd1.Parameters.AddWithValue("@pID", pID1);
cmd1.Parameters.AddWithValue("@qID", qID);
SqlDataReader rdr1 = cmd1.ExecuteReader();
if (rdr1.Read())
{
mainQTxt = (string)rdr1.GetValue(0);
}
cn1.Close(); rdr1.Close(); cmd1.Dispose();
}//- End of cn
rep = mainQTxt ;
尝试改变int qID = Int32.Parse(corr[0]);
到int qID = Convert.ToInt32(corr[0]);
同样的错误。你有想法,为什么它可以工作,即使当我尝试这样做:int qID = 10087; OR string qID =“10087”;它与两种方式的工作.. –
因为那些是有效的整数......当然,你没有一个有效的整数'corr [0]' –
corr [0]的值是什么? @MrLearner –
什么是确切的错误?看起来corr [0]不是一个有效的整数 –
错误失败,实际上我正在使用AJAX, –
corr [0]是一种字符串,我将它转换为int .. –