SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString);
conn.Open();
string checkUser = " select count(*) form Userdata where Username='" + TextBoxUN.Text + "' ";
SqlCommand cmd = new SqlCommand(checkUser,conn);
if (temp==1)
{
Response.Write("User Already Exists");
}
conn.Close();
System.Data.SqlClient.SqlException未被用户代码处理 HResult = -2146232060消息='Userdata'附近的语法不正确
int temp= Convert.ToInt32(cmd.ExecuteScalar().ToString());
答案 0 :(得分:1)
错误消息显示:
'Userdata'
附近的语法不正确
这告诉你SQL解析器放弃了单词Userdata
,因为语法不再有意义,这通常意味着实际错误在该单词之前就已接近。
如果你查看查询的那一部分:
select count(*) form Userdata
Userdata
之前的单词是form
,但您应该认识到您打算写的不是关键字from
。
旁注(但重要的一点):您在查询中连接的值未正确转义,因此代码对SQL注入攻击持开放态度。您应该使用参数将值放入查询中:
string checkUser = "select count(*) from Userdata where Username = @Username";
SqlCommand cmd = new SqlCommand(checkUser,conn);
cmd.Parameters.AddWithValue("@Username", TextBoxUN.Text);