日期:2014-05-18  浏览次数:20479 次

asp.net初学者:一个很奇怪的问题----未将对象引用设置到对象的实例
我的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还是需要历练阿。