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コードで更新できるかどうかを確認します。当店では常用しており問題ないので、もともと入れていませんでした。

4

1 に答える 1

1

の内容gd.getDataTableを確認せずに、私たちができることはあまりありません。この関数を呼び出すアプリケーションはどのようなものですか? エディターでその行にブレークポイントを設定し、その行にステップ インして、エラーが発生している場所を確認できますか? DataAccess.GetDataそれ以外の場合は、コードにアクセスできますか? その場合、スタック トレースを破棄せずに元の例外をスローすると、より多くの情報が得られます。

悪い!!!!

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

良い:

Try
    'your code
Catch ex As Exception
    Throw
End Try
于 2012-06-13T19:16:00.380 に答える