我的asp.net程序以前一直运行的好好的,今天我来运行的时候,居然提示错误,错误信息如下:
“/mytesting”应用程序中的服务器错误。
--------------------------------------------------------------------------------
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误:
行 56: //SqlConnection conn=null;
行 57: SqlConnection conn=new SqlConnection(connstr);
行 58: conn.Open(); (***提示这里错误)
行 59: //获得用户输入的用户名和密码
行 60: string useraccount=accountTxt.Text ;
源文件: D:\asp.net\my_asp.net\testing\login\Login.aspx.cs 行: 58
数据库的连接是写在配置文件中的,源代码如下:
<appSettings>
<add key= "connstring " value= "server=.;uid=sa;pwd=;database=testing " />
</appSettings>
在登陆页面的源代码如下:
private void loginBtn_Click(object sender, System.EventArgs e)
{//连接数据库
string connstr=System.Configuration.ConfigurationSettings.AppSettings[ "connstring "];
//SqlConnection conn=null;
SqlConnection conn=new SqlConnection(connstr);
conn.Open();
//获得用户输入的用户名和密码
string useraccount=accountTxt.Text ;
string userpwd=passwordTxt.Text;
//执行sql语句
string sql= "select * from Users where useraccount= ' "+useraccount+ " ' and userpwd= ' "+userpwd+ " ' ";
SqlCommand cmd=new SqlCommand(sql,conn);
SqlDataReader dr=cmd.ExecuteReader();
//判断登陆用户是否已经存在,若存在,则登陆成功
if(dr.Read())
{
//将用户信息存储到session中
Session[ "useraccount "]=useraccount;
Session[ "isLogin "]= "loginSuccess ";
Response.Redirect( "UserInfo.aspx ");//跳转到显示用户信息的页面
}
//否则,登陆失败
else
{Response.Write( " <script language=javascript> alert( '登陆失败,请重新登陆! ') </script> ");}
conn.Close();
}
这个莫名其妙的错误已经困扰了我好几天了,一直没找到错误,我的conn明明用new关键字实例化了呀,怎么就是未将对象引用设置到对象的实例呢? 实在是不懂!!!
后来我把程序拷到别的电脑上运行,又是好好的,实在令我百思不得其解!!!
请各位高手帮我看看哈!
小妹在此谢过了!
------解决方案--------------------------------------------------------
你的代码在我的机器上已经运行过了..完全正常!
也许是你的电脑有点不适应罢了吧...
我发现你的代码和我刚开始学.net 时的风格简直是一模一样的..
敢问小妹是在哪里学的,还是自学的..
------解决方案--------------------------------------------------------
这代码写的,注释倒是很多,不过太象书里的了,哈和TMD ASP代码类似
LZ还是需要历练阿。