Кто-нибудь может понять, почему я получаю сообщение об ошибке, {"ExecuteReader: свойство подключения не было инициализировано."}? - PullRequest
0 голосов
/ 27 апреля 2018

Я смотрел на этот код в течение 2 часов, и я ничего не могу найти. Это может быть от усталости. Когда я запускаю код, ошибки указывают на

strSelect = "SELECT * FROM TGolfers where strFirstName like '%" &    
   cboGolfer.Text & "%' or strLastName like '%" & cboGolfer.Text & "%'"
cmdSelect = New OleDb.OleDbCommand(strSelect, m_conAdministrator)
drSourceTable = cmdSelect.ExecuteReader
Using dt As New DataTable()" 

в функции GetGolfer. Надеюсь, кто-нибудь может помочь мне выяснить, почему я получаю эту ошибку и исправить ее. Спасибо

Public Class frmGolfer
    Private Sub frmGolfer_Load(sender As Object, e As EventArgs) Handles 
    MyBase.Load
         GetGolfer()
    Try
        Dim strSelect As String = ""
        Dim cmdSelect As OleDb.OleDbCommand
        Dim drSourceTable As OleDb.OleDbDataReader
        Dim dt As DataTable = New DataTable
        Dim strSQL As String = "INSERT INTO TGolfers(strFirstName, strLastName, strEmail) VALUES (@FirstName, @LastName, @Email)"

        If OpenDatabaseConnectionSQLServer() = False Then
            MessageBox.Show(Me, "Database connection Error." & vbNewLine &
                                "The application will now close.",
                                Text + "Error",
                                MessageBoxButtons.OK, MessageBoxIcon.Error)
            Me.Close()
        End If

        cboGolfer.BeginUpdate()

        strSelect = "Select intGolferID, strLastName FROM TGolfers"
        cmdSelect = New OleDb.OleDbCommand(strSelect, m_conAdministrator)
        drSourceTable = cmdSelect.ExecuteReader

        dt.Load(drSourceTable)
        cboGolfer.ValueMember = "intGolferID"
        cboGolfer.DisplayMember = "strLastName"
        cboGolfer.DataSource = dt

        cboGolfer.EndUpdate()
        drSourceTable.Close()
        CloseDatabaseConnection()

    Catch excError As Exception
        MessageBox.Show(excError.Message)
    End Try
    If cboGolfer.Items.Count > 0 Then cboGolfer.SelectedIndex = 0
End Sub

Public Function GetGolfer()
    Dim strSelect As String = ""
    Dim cmdSelect As OleDb.OleDbCommand
    Dim drSourceTable As OleDb.OleDbDataReader

    strSelect = "SELECT * FROM TGolfers where strFirstName like '%" & cboGolfer.Text & "%' or strLastName like '%" & cboGolfer.Text & "%'"
    cmdSelect = New OleDb.OleDbCommand(strSelect, m_conAdministrator)
    drSourceTable = cmdSelect.ExecuteReader
    Using dt As New DataTable()

        DgvGolfer.AutoGenerateColumns = False
        DgvGolfer.DataSource = dt
    End Using
End Function
...