2012-06-13 3 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 코드에 액세스 할 수 있습니까? 당신은 스택 추적을 파괴하지 않고 원래의 예외를 던진 경우 그렇다면, 당신은 그것에서 더 많은 정보를 얻을 것이다 :

BAD을 !!!!

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 
관련 문제