回 帖 发 新 帖 刷新版面

主题:ASP.NET的问题?

我是用C#语言来编写的。用ADO.NET连接SQL数据库,表里只有一个记录。
我的代码是这样的:
private void Page_Load(object sender, System.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=soncewys;");
            con.Open();
            SqlCommand cmd=new SqlCommand("select count(*) from 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.htm");
能够连接上数据库,因为表中只有一个记录所以我用COUNT来标记,当大于0是就进入主界面。当运行的时候,出现下面这样的错误。

ExecuteReader: Connection 属性尚未初始化。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.InvalidOperationException: ExecuteReader: Connection 属性尚未初始化。

源错误: 
行 24: con.Open();
行 25: SqlCommand cmd=new SqlCommand("select count(*) from login where userName='"+username+"' and userpwd='"+userpwd+"',con");
行 26: int count=Convert.ToInt32(cmd.ExecuteScalar());
行 27: if(count>0)
行 28: {

堆栈跟踪: 
[InvalidOperationException: ExecuteReader: Connection 属性尚未初始化。]
   System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean executing)
   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
   System.Data.SqlClient.SqlCommand.ExecuteScalar()
   WebApplication1.login.Page_Load(Object sender, EventArgs e) in f:\asp\webapplication1\login.aspx.cs:26
   System.Web.UI.Control.OnLoad(EventArgs e)
   System.Web.UI.Control.LoadRecursive()
   System.Web.UI.Page.ProcessRequestMain()
请大家帮帮忙。谢谢!
 

回复列表 (共1个回复)

沙发

SqlCommand cmd=new SqlCommand("select count(*) from login where userName='"+username+"' and userpwd='"+userpwd+"'",con);

我来回复

您尚未登录,请登录后再回复。点此登录或注册