2012-06-13 29 views
0

我调用函数GetDataTable,当它到达返回行时,我收到错误消息: 对象引用未设置为对象的实例。调用函数时对象引用未设置为对象的实例

Dim DB As New DBConn 
Dim gd As New DataAccess.GetData 
Dim DT As New DataTable 

Dim repotid1 As Decimal = 1150 
Dim startdata1 As DateTime = "6/1/2012" 
Dim EndDate1 As DateTime = "6/12/2012" 
Dim StartDate3 As DateTime = "11/1/2011" 
Dim Enddate3 As DateTime = "5/1/2012" 

Dim sql1 As String = String.Format("EXEC [dbo].[usp_GetReportData_All] @ReportID=N'{0}', @StartDate=N'{1}' @EndDate=N'{2}', @StartDate2=N'{3}' @EndDate2=N'{4}'", repotid1, startdata1, EndDate1, StartDate3, Enddate3) 

DT = DB.GetDataTable(sql1) 

Public Class DBConn 
Dim gd As New DataAccess.GetData 

Public Function GetDataTable(ByVal sql As String) As DataTable 

    Dim _appID As String = "IS" 
    Dim _transID As String = "MSSQL01" 


    Return gd.getDataTable(_appID, _transID, sql) 'I get the error message here 

End Function 
End Class 

已更新。我会看看是否可以使用DataAccess.GetData代码进行更新。我原本并没有把它放在那里,因为我们的店一直都在使用它,并且没有任何问题。

+0

什么是SQL的价值?你有可能没有传球吗? –

+0

我认为你需要发布更多的代码,是发生在某个地方的函数内部的错误,或者是gd null?您可以使用调试器并在该行停止。 –

+0

我们不知道这个'GetData'对象的内部结构,并且无法回答你的问题。 – asawyer

回答

1

没有看到gd.getDataTable中的内容,我们没有太多的工作可以帮助您。你在写什么类型的应用程序调用这个函数?你可以在编辑器的那一行放置一个断点,并进入它来查看错误发生的位置?否则,你有权访问DataAccess.GetData代码吗?如果是这样,如果抛出原始异常而不破坏堆栈跟踪,则会从中获得更多信息:

不好!

Try 
    'your code 
Catch ex As Exception 
    Throw New Exception(ex.Message) 
End Try 

GOOD:

Try 
    'your code 
Catch ex As Exception 
    Throw 
End Try 
相关问题