在关键字 'user' 附近有语法错误。

在关键字'user'附近有语法错误。异常详细信息:System.Data.SqlClient.SqlException:在关键字'user'附近有语法错误。源错误:行38... 在关键字 'user' 附近有语法错误。
异常详细信息: System.Data.SqlClient.SqlException: 在关键字 'user' 附近有语法错误。

源错误:
行 38: Response.Write(mysql);
行 39: SqlCommand mycmd=new SqlCommand(mysql,myconn);
行 40: SqlDataReader mydr = mycmd.ExecuteReader();
行 41: try
行 42: {
源文件: c:\Inetpub\wwwroot\vote\login.aspx.cs 行: 40

string UserName = tbxaccount.Text.ToString();
string Password = tbxpwd.Text.ToString();
if (UserName == "" | Password == "")
{
lblerr.Visible = true;
lblerr.Text = "请输入用户名和密码";
}
else
{
string settings=Convert.ToString(ConfigurationManager.ConnectionStrings["MySqlConnection"]);
SqlConnection myconn=new SqlConnection(settings);
myconn.Open();
string mysql = "select * from user where userName="+"'"+UserName+"'"+"And userPwd=" + "'" + Password + " ' ";
SqlCommand mycmd=new SqlCommand(mysql,myconn);
SqlDataReader mydr = mycmd.ExecuteReader();
try
{
if(mydr.Read())
{
lblerr.Visible = true;
lblerr.Text = "登录成功";
}
else
{
lblerr.Visible=true;
lblerr.Text="用户名或密码错误";
}
}
finally
{
mydr.Close();
myconn.Close();
}
}
展开
 我来答
百度网友dc91b32
2009-03-26 · TA获得超过5650个赞
知道大有可为答主
回答量:5653
采纳率:0%
帮助的人:0
展开全部
string mysql = "select * from user where userName="+"'"+UserName+"'"+"And userPwd=" + "'" + Password + " ' ";

user属于sql里的关键字,所以会报错,一般不要用关键字作为表名,如果关键字做表名用[]括起来,

string mysql = "select * from [user] where userName="+"'"+UserName+"'"+"And userPwd=" + "'" + Password + " ' ";
lyxyhghjkl
2009-03-27 · TA获得超过181个赞
知道答主
回答量:76
采纳率:0%
帮助的人:44.8万
展开全部
user属于sql里的关键字,所以会报错,一般不要用关键字作为表名,如果关键字做表名用[]括起来,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心胆身
2009-03-28
知道答主
回答量:17
采纳率:0%
帮助的人:0
展开全部
string mysql = "select * from [user] where userName="+"'"+UserName+"'"+"And userPwd=" + "'" + Password + " ' ";

user在sql中是关键字,用user做表名可以在起加个后缀,如:user1等。出现sql语句错误的时候可以先吧sql查询语句放在sql查询器里先执行看有没有错误.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mfkdlove
2009-03-26 · 超过16用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:30.9万
展开全部
string mysql = "select * from user where userName="+"'"+UserName+"'"+"And userPwd=" + "'" + Password + " ' ";

user在sql中是关键字,用user做表名可以在起加个后缀,如:user1等。出现sql语句错误的时候可以先吧sql查询语句放在sql查询器里先执行看有没有错误

string mysql = "select * from user1 where userName="+"'"+UserName+"'"+"And userPwd=" + "'" + Password + " ' ";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8aaf15e
2009-03-27 · 超过13用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:27.4万
展开全部
string mysql = "select * from user where userName="+"'"+UserName+"'"+" And userPwd=" + "'" + Password + " ' ";

AND 附近少了个空格。
建议你用String.format("",arg[]...)或参数化来做,这样很直观,拼SQL容易出错。还有你的验证思路是有很大问题的,要解决注入威胁。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式