VB.NET - 由于'NullReferenceException'

时间:2016-04-29 08:34:25

标签: vb.net connection-string

我已经看到了很多类似的问题,但它没有像其他人那样呈现 - 实际上,我在尝试时收到System.NullReferenceException消息将存储在“项目设置”中的SQL连接字符串添加到一个模块中,该模块允许我传递SQL Server查询并通过公共属性返回结果。为了清楚起见,我引用App.config文件(当我尝试从ConfigurationManager导入时,我似乎看不到System.Configuration) - 相反,我正在使用My.Settings.MasterDataConnectionString方法将属性调用到SQLConnection对象中。

这是我当前的命令;

Imports System.Data.SqlClient
Public Module SQLDataSetQuery
    Private _sqlConnection As SqlConnection
    Private _sqlCommand As New SqlCommand()
    Private _sqlReader As SqlDataReader
    Private _sqlResults As DataSet = New DataSet()

    Public ReadOnly Property GetResults(Optional ByVal KeepMode As Integer = 0) As DataSet
        Get
            If KeepMode = 0 Then
                Return _sqlResults
            ElseIf KeepMode = 1 Then
                Return _sqlResults
                _sqlResults.Clear()
            ElseIf KeepMode = 2 Then
                _sqlResults.Clear()
                Return Nothing
            Else
                Return Nothing
            End If
        End Get
    End Property

    Public Sub ExecuteQuery(ByVal sqlQuery As String)
        _sqlResults.Tables.Add()
        _sqlConnection.ConnectionString = My.Settings.MasterDataConnectionString()

        _sqlConnection.Open()
        _sqlCommand.CommandText = sqlQuery
        _sqlCommand.CommandType = CommandType.Text
        _sqlCommand.Connection = _sqlConnection

        _sqlReader = _sqlCommand.ExecuteReader()

        If _sqlReader.HasRows Then
            _sqlResults.Tables(0).Load(_sqlReader)
        End If

        _sqlReader.Close()
        _sqlCommand.Dispose()
        _sqlConnection.Close()
        _sqlConnection.Dispose()
    End Sub
End Module

我不明白为什么这不起作用 - 我尝试过使用System.My.Settings.MasterDataConnectionString,我尝试在上面的代码块中使用相同的命令而不使用()而且我也是尝试使用附加.ToString()的命令(因为我在内部假定,因为它存储为Connectionstring,它可能是一个不同的Object类型),但它们都会出现相同的错误。我已经检查了项目设置,因此它们被保存了;

名称:MasterDataConnectionString
输入 :( Connectionstring)
范围:申请
Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\MasterData\MasterData.mdf;Integrated Security=True;Connect Timeout=30

我可以从Visual Studio中的服务器资源管理器中打开数据库文件(如果我没有错,它使用相同的详细信息?)没有问题,并且对数据库表运行查询没有问题,这进一步加剧了我的困惑。

我可以根据请求发布App.config文件,但如前所述,我没有使用此文件来获取数据 - 从查看其他问题(特别是herehereherehere)似乎他们没有使用解决方案设置来引用连接字符串 - 因此,除非我非常错误(并且非常愚蠢),问题与此无关

有人能指出我在正确的方向吗?

0 个答案:

没有答案
相关问题