在看北大青鸟的教程,按照教程调试代码的时候发现一个错误,怎么也找不到原因,暂且记录....
用户代码未处理 System.Data.SqlClient.SqlException
全文代码:
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class login : System.Web.UI.Page
... {
protected void Page_Load(object sender, EventArgs e)
...{
string userName = Request.Form["userName"].ToString();
string userPwd = Request.Form.Get("userPwd").ToString();
SqlConnection con=new SqlConnection("server=.;database=login;uid=sa;pwd=;");
con.Open();
SqlCommand cmd=new SqlCommand("select count(*) form login where userName='"+userName+"' and userPwd='"+userPwd+"'", con);
int count=Convert.ToInt32(cmd.ExecuteScalar());
if(count>0)
...{
Response.Redirect("main.aspx");
}
else
...{
Response.Redirect("loginfail.html");
}
}
}
错误提示就在这一行上:int count=Convert.ToInt32(cmd.ExecuteScalar());
由于教程中使用的VS2003,我使用的是VS2005,难道会是这方面的原因?还有我使用的是MS SQL2000的个人版。
详细的错误信息如下:
用户代码未处理 System.Data.SqlClient.SqlException
Message="第 1 行: 'login' 附近有语法错误。"
Source=".Net SqlClient Data Provider"
ErrorCode=-2146232060
Class=15
LineNumber=1
Number=170
Procedure=""
Server="."
State=1
StackTrace:
在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
在 System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
在 System.Data.SqlClient.SqlDataReader.get_MetaData()
在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
在 System.Data.SqlClient.SqlCommand.ExecuteScalar()
在 login.Page_Load(Object sender, EventArgs e) 位置 f:/NetPrc/Prc01/login.aspx.cs:行号 25
在 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)