主题: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()
请大家帮帮忙。谢谢!
我的代码是这样的:
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()
请大家帮帮忙。谢谢!