在asp.net中建立一个datatable存放于Application中,在此datatable中连续的添加、删除数据(>1条数据,测试环境是50个连接,每个连接每三秒检索datatable,如果存在相应的数据就删除,如果不存在就从数据库加载数据到datatable中。),数据来源于SQLSERVER。开始一切正常,在运行了大概8分钟不到出现错误:“System.NullReferenceException: 未将对象引用设置到对象的实例。”错误的那行内容是:rows = tb.Select("姓名='" & name & "'")。请指教 如需要测试代码请与QQ:3852767联系,注明身份。

解决方案 »

  1.   

    我想也是TB 不在了 但是怎么个不在的呢? 本来写了 tb.dispose 现在这行都注释了也不行 到底怎么回事啊?
      

  2.   

    如果在Application中得不到datatable你就再初始化一个
      

  3.   

    rows = tb.Select("姓名='" & name & "'")。
    ------------------------
    你这个rows是什么?是一个行对象吗?如果是,那很可能是根据条件选择出来的数据不存在,是个空行,也就是null,你看看有没有这个可能.
      

  4.   

    DATATABLE 是直接用代码建立的
            Dim tb As New DataTable("EquInfo"), c As DataColumn
            Dim r As DataRow = tb.NewRow()
            c = New DataColumn("ID")
            With c
                .DataType = Type.GetType("System.Int32")
                .Caption = "ID"
                .Unique = False
            End With
            tb.Columns.Add(c)
             c = New DataColumn("姓名")
            With c
                .DataType = Type.GetType("System.String")
                .Caption = "姓名"
                .MaxLength = 20
                .Unique = False
            End With
            tb.Columns.Add(c)
            rows 是 Dim rows() As DataRow, row As DataRow
      

  5.   

    Dim rows() As tb.NewRow()试试
      

  6.   

    有这句的 在需要加数据的时候这样写的
     row = tb.NewRow