调试问题,闷在家里三天三夜都没有搞明白,高人指点
我写的一个登陆简单代码,用的是SQL SERVERE数据库
代码如下
Dim con As New SqlConnection
con.ConnectionString = "server=BT-BBT;uid=adoxq;pwd=86221xq;database=tz"
con.Open()
Dim str As String = "select * from rigester where user=" + USER.Text + " and " + PWD.Text + ""
Dim cmd As New SqlCommand(str, con)
Dim dr As SqlDataReader = cmd.ExecuteReader
If dr.Read Then
Response.Redirect("rigester.aspx")
Else
Response.Write("<script languge='javascript'> alert('登录失败');window.top.location.href='Default.aspx';</script>;return")
End If
当我输入登陆的用户名和密码后,点击提交按钮后就提示出错,具体如下
“/web”应用程序中的服务器错误。
--------------------------------------------
第 1 行: ' 1' 附近有语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:
System.Data.SqlClient.SqlException: 第 1 行: ' 1' 附近有语法错误。
源错误:
行 45: Dim str As String = "select * from rigester where user='" + USER.Text + "' and' " + PED.Text + "'"
行 46: Dim cmd As New SqlCommand(str, con)
行 47: Dim dr As SqlDataReader = cmd.ExecuteReader
行 48:
行 49:
源文件: G:\Web\website\web\login.aspx.vb 行: 47
堆栈跟踪:
[SqlException: 第 1 行: ' 1' 附近有语法错误。]
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
System.Data.SqlClient.SqlCommand.ExecuteReader()
web.WebForm1.Button1_Click(Object sender, EventArgs e) in G:\Web\website\web\login.aspx.vb:47
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
--------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
------解决方案--------------------Dim str As String = "select * from rigester where user='" + USER.Text + "' and pwd='" + PWD.Text + "'"
and 后面是密码子段名(pwd=)
------解决方案--------------------and 前后加空格
------解决方案--------------------字符串要单引号
要防注
------解决方案--------------------"select * from rigester where user= '" + USER.Text + " 'and pwd =' " + PWD.Text + "'"
试试这个select语句行不!!你and后面都没有字段!!和数据库中的哪个比呢??
------解决方案--------------------四楼和三楼的同志解题是正确的,这种是低级错误。以后别再犯了。~~
------解决方案--------------------"select * from rigester where user='"+ USER.Text +"' and pwd='" + PWD.Text +"'"
------解决方案-------------------- Dim str As String = "select * from rigester where user= '" + USER.Text + " ' and ' " + PED.Text + " '"
行 46: Dim cmd As New SqlCommand(str, con)