请帮助您使用下面的C#代码。该代码工作发现,当我用的数值,但是当我测试使用像K083271值的代码,我有错误:无法将参数值从字符串转换为Int32。 C#
An exception of type 'System.FormatException' occurred in System.Data.dll but was not handled in user codeAdditional information: Failed to convert parameter value from a String to a Int32.
调试给人usercount = 0
C#代码
using (SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["Molecular"].ConnectionString))
{
con.Open();
using (SqlCommand cmd = new SqlCommand(@"SELECT count(*)
from Patient where MBID = @SearchCriteria ", con))
{
cmd.Parameters.Add("@SearchCriteria", SqlDbType.Int).Value= Convert.ToString(txtSearchCriteria.Text);
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
int userCount = (Int32)cmd.ExecuteScalar();
da.Fill(dt);
if (userCount > 0)
{
using (SqlCommand cmd4 = new SqlCommand(@"SELECT *
from Patient where MBID = @SearchCriteria ", con))
{
int searchcriteria4 = int.Parse(txtSearchCriteria.Text);
cmd4.Parameters.AddWithValue("@SearchCriteria", searchcriteria4);
DataTable dt4 = new DataTable();
SqlDataAdapter da4 = new SqlDataAdapter(cmd4);
da4.Fill(dt4);
if (da4 != null)
{
GridViewClinicalPatientDetails.DataSource = dt4;
GridViewClinicalPatientDetails.DataBind();
}
}
return true;
}
else
{
Response.Write("<script>alert('Patient does not exist. Check Patient MBID')</script>");
txtSearchCriteria.Text = "";
return false;
}
}
你说的是这行'int searchcriteria4 = int.Parse(txtSearchCriteria.Text);'?你如何期望K083271解析为一个整数? (提示:你不能,首先验证文本框) –
你期望什么?您不能将文字写入整数。 – NotTelling
'“代码工作发现,当我使用数值...” - 由于数字值是数字,但非数字值是非数字。如果要将字符串解析为整数,则该字符串需要表示整数。 – David