2011-03-31 67 views
0

需要帮助。必须分配给物业或使用其物业价值

我觉得奇怪的是,当我没有在类中分配任何属性时发生此错误。以下是我的源代码。

Public Function GenerateNonContainerReport(ByVal dateFrom As Date, ByVal dateTo As Date, ByVal userID As String) As rptNonContainerized 
    Try 
     Dim dtNonContainer As New dsPrint.dtNonContainerDataTable 

     Dim strSQL As String = "EXEC dbo.sp_RetrieveNonContainerizedRev @StartDate=" + dateFrom + ", @EndDate=" + dateTo + ", @UserID=" + userID 

     myConnectionSettings = New ConnectionStringSettings("SQLConnection", strConn, "System.Data.SqlClient") 
     myProvider = DbProviderFactories.GetFactory(myConnectionSettings.ProviderName) 
     db = New GenericDatabase(myConnectionSettings.ConnectionString, myProvider) 
     dbCommand = db.GetSqlStringCommand(strSQL) 

     Dim dTable = db.ExecuteDataSet(dbCommand).Tables(0) ' error occurs here 

    Catch ex As Exception 
     Return Nothing 
    End Try 
    End Sub 

该应用程序正在使用一个存储数据表的xsd文件。而且,这个存储过程接受3个参数。这里是否有可能发生错误?

最新更新 我得到这个错误“对象引用未设置为对象的实例。”我现在想知道在我没有实例化的代码中。

+0

例外

  • 处置在什么地方发生错误? – 2011-03-31 10:11:04

  • +0

    当数据在数据表中传递时发生错误。 – Musikero31 2011-04-01 02:51:24

    回答

    0

    检查DataSet中已表返回

    dataSet = db.ExecuteDataSet(dbCommand) 'Break here and inspect the object 
    

    查找dataSet.Tables

    此外,

    • 不要新的数据表
    • 不要使用帕斯卡符号如strSQL - > sql
    • 注意SQL注入
    • 不要吃在最后
    +0

    我会修改代码以方便阅读。 此外,我没有看到任何与错误和pascal符号的关系,因为用户可以声明任何变量名称。 – Musikero31 2011-04-01 02:30:08

    +0

    我检查了代码,并且将它分配给特定参数时似乎有错误。什么是最好的事情? – Musikero31 2011-04-01 03:29:55