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

我遇到的出现这种错误的原因一般是以下几种情况:

1.在绑定数据控件的时候,

                    //建立数据库连接
                    OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" + Server.MapPath("news.mdb"));
                    //创建OleDbDataAdapter对象,按照指定的查询语句获取结果
                    OleDbDataAdapter mycom = new OleDbDataAdapter("select top 12 * from contents where typeid=1 order by shijian desc", conn);
                    OleDbDataAdapter mycom1 = new OleDbDataAdapter("select top 12 * from contents where typeid=2 order by shijian desc", conn);
                    //定义DataSet对象,将查询结果填充到这个对象上
                    DataSet ds = new DataSet();
                    mycom.Fill(ds, "contents");
                    mycom1.Fill(ds, "types");

这个时候,如果直接绑定:

                        mylist.DataSource = ds.Tables["contents"].DefaultView;
                        mylist1.DataSource = ds.Tables["types"].DefaultView;
                        mylist.DataBind();
                        mylist1.DataBind();

那么如果这两个表中没有记录,就有可能出现这个错误。

通过调试,查阅MSDN帮助就可以获得该问题的相关资料:

关于异常的疑难解答:System.NullReferenceException 

试图在代码中引用不存在的对象时,会发生 NullReferenceException。例如,您可能试图在未先使用 New 关键字的情况下使用对象,或试图使用值设置为 null(在 Visual Basic 中为 Nothing)的对象。

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl02a6762b2,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl02img,"; </script> 相关提示相关提示
使用关键词 New 创建实例。

您可能试图在未提供对象实例的情况下使用对象。例如, Dim CustomerTable As DataTable 应该重写为 Dim CustomerTable As New DataTable

包含检查空引用的代码块。

以编程方式检查以确定函数是否已返回 null(在 Visual Basic 中为 Nothing ),而不是对象的实例。

在 Try…Catch…Finally 语句中显式地捕获 NullReferenceException。

Try…Catch…Finally 语句可以检查特定类型的异常,从最特殊的异常到最普通的异常。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值