首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例

2011-12-08 
天塌下来了,为了vs2003,不停重装系统装了系统,装了iis,sql2000,vs2003,用得很爽。第二天开机,运行localhost

天塌下来了,为了vs2003,不停重装系统
装了系统,装了iis,sql2000,vs2003,用得很爽。
第二天开机,运行localhost/home/····,
出现错误,重装了iis,sql2000,vs2003,没用。

于是重装了系统,装了iis,sql2000,vs2003,用得很爽。
第三天开机,运行localhost/home/····,
出现错误,
只好又重装系统。

我的妈,每天我都要重装一次系统。工作需要一定要用vs2003的。

我想是操作系统的问题,我的是xp   professional   2002   sp2。

每次第二天开机出现的错误都和数据库连接有关,虽然运行不同的页面的错误提示不一样。只要重装,页面代码没有改,就可以正常运行。
我这样的计算机高手已经江郎才尽了。

高手救我吧。

下面是其中一个错误的信息:


“/home”应用程序中的服务器错误。
--------------------------------------------

未将对象引用设置到对象的实例。  
说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。  

异常详细信息:   System.NullReferenceException:   未将对象引用设置到对象的实例。

源错误:  


行   46:   {
行   47:   SqlConnection   conn   =   new   SqlConnection(dsn);
行   48:   conn.Open();
行   49:   }
行   50:  
 

源文件:   C:\Inetpub\wwwroot\home\datagrid.aspx.cs         行:   48  

堆栈跟踪:  


[NullReferenceException:   未将对象引用设置到对象的实例。]
      LoadLibraryW(UInt16*   )   +0
      System.EnterpriseServices.Thunk.Security.Init()   +76
      System.EnterpriseServices.Thunk.Security.SuspendImpersonation()   +81
      System.EnterpriseServices.Platform.Initialize()   +503
      System.EnterpriseServices.ResourcePool..ctor(TransactionEndDelegate   cb)   +11
      System.Data.SqlClient.ConnectionPool..ctor(DefaultPoolControl   ctrl)   +797
      System.Data.SqlClient.PoolManager.FindOrCreatePool(DefaultPoolControl   ctrl)   +170
      System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString   options,   Boolean&   isInTransaction)   +358
      System.Data.SqlClient.SqlConnection.Open()   +384
      htc.datagrid.OpenDatabase()   in   C:\Inetpub\wwwroot\home\datagrid.aspx.cs:48
      htc.datagrid.Page_Load(Object   sender,   EventArgs   e)   in   C:\Inetpub\wwwroot\home\datagrid.aspx.cs:42
      System.Web.UI.Control.OnLoad(EventArgs   e)   +67
      System.Web.UI.Control.LoadRecursive()   +35
      System.Web.UI.Page.ProcessRequestMain()   +731

 


--------------------------------------------
版本信息:   Microsoft   .NET   Framework   版本:1.1.4322.573;   ASP.NET   版本:1.1.4322.573  


说明:
1.
dsn在web.config里面有定义,是连接数据库的。
<add   key= "dsn "   value= "Initial   Catalog=data;Data   Source=xp;User   Id=sa;Password=sa;Max   Pool   Size=10240 "   />   <!--数据库的连接-->

2.
.NET   Framework   2.0   sp1也重装了,还是不行。

[解决办法]
这个错误和你的系统没关系吧,对于Sql.Open()这样的函数尽量做异常处理,对于引用,尽量判断是否是null
[解决办法]
代码问题..有时候出错有时候不出错是因为你使用了null对象,跟踪一下dsn,还有既然是做开发了,决定做下去,就尽量不要重装系统,有什么问题解决什么问题,重装系统是浪费时间,治标不治本。
[解决办法]
重装干嘛
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例



源错误:

行 46: {
行 47: SqlConnection conn = new SqlConnection(dsn);
行 48: conn.Open();
行 49: }
行 50:

说明你的连接字符串有问题,在WEBCONFIG里边你先只用四个属性(这是最基本的),DataSource= "数据源 ";Data base= "你的数据名 ";uid= "用户名 ";pwd= "密码 "

而且你上面错误信息为什么只显示到conn.Open();,是不是少了一行代码???
起码应该有下面这句
SqlConnection conn=new SqlConnection();
SqlCommand cmd=new SqlCommand( "查询条件或存储过程 ",conn);//没有这句你连接数据库干嘛?
conn.open();


[解决办法]
首先单步跟踪看一下

接着对于这句:
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例

你就看看是不是你有控件没有实例化
在托管堆中开辟一块内存空间的写法:MyClass mc=new MyClass();
而NET中大量的控件你可以直接拿来用的不用在实例化,比如:this.TextBox1.Text.ToString();

你程序中有时用到第三方控件,或自定义控件,是要自己加命名控件,自己实例化的.

最后涉及到ADO.NET方面连接,打开等操作,是要加using System.Data.SqlClient;命名空间的,你别重装系统了,熟了就好了,装了三次系统太没经验了

热点排行