这是我在“用户注册”页的按钮按下去后执行的代码:
protected void Button_Click(object sender, EventArgs e)
string sqlstr = System.Configuration.ConfigurationManager.ConnectionStrings["Con1"].ToString();
SqlConnection conn = new SqlConnection(sqlstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select count(*) from user where username='" + username.Text.Trim() + "'";
int flag = int.Parse(cmd.ExecuteScalar().ToString());
if (flag > 0)
{
Page.ClientScript.RegisterStartupScript(this.Parent.GetType(), "", "alert('用户名已存在');", true);
}
else
{
cmd.CommandText = "insert into user (username,password) values ('" + username.Text + "','" + password.Text + "')";
if (cmd.ExecuteNonQuery() > 0)
{
Page.ClientScript.RegisterStartupScript(this.Parent.GetType(), "", "alert('注册成功');", true);
}
else
{
Page.ClientScript.RegisterStartupScript(this.Parent.GetType(), "", "alert('注册失败');", true);
}
}
conn.Close();
}
结果一注册就出错,提示:
异常详细信息: System.Data.SqlClient.SqlException: 关键字 'user' 附近有语法错误。
行 43: int flag = int.Parse(cmd.ExecuteScalar().ToString()); 【此行红色显示】
救命啊大侠~~~~~~~~
------解决方案--------------------------------------------------------
cmd.CommandText = "select count(*) from [user] where [username]='" + username.Text.Trim() + "'";
这样试试
------解决方案--------------------------------------------------------
user 是系统关键的字段 你把它改下就好了!换成user1 之类的 就ok