在SQL Server数据库中填充VB中的组合框

时间:2018-03-26 18:54:32

标签: sql-server visual-studio visual-studio-2012

我实际上对此进行了一些研究,结果显示在我的工作中。但我仍然遇到填充组合框的问题。表单运行正常,没有错误,但组合框中没有显示任何内容。有人可以帮忙解决这个问题吗?我继续运行它,但我完全不知道问题出在哪里。

Public Class Form1

Private Sub cboModel_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboModel.SelectedIndexChanged

    Try
        Dim strSelect As String = ""
        Dim cmdSelect As OleDb.OleDbCommand
        Dim drSourceTable As OleDb.OleDbDataReader
        Dim dt As DataTable = New DataTable

        If OpenDatabaseConnectionSQLServer() = False Then

            MessageBox.Show(Me, "Database connection error." & vbNewLine &
                                "The application will now close.",
                                Me.Text + "Error",
                                MessageBoxButtons.OK, MessageBoxIcon.Error)

            Me.Close()

        End If

        cboModel.BeginUpdate()

        cboModel.Items.Clear()

        strSelect = "SELECT intAutoID, strMake FROM TAutos"

        cmdSelect = New OleDb.OleDbCommand(strSelect, m_conAdministrator)
        drSourceTable = cmdSelect.ExecuteReader

        dt.Load(drSourceTable)

        cboModel.ValueMember = "intAutoID"
        cboModel.DisplayMember = "strMake"
        cboModel.DataSource = dt

        If cboModel.Items.Count > 0 Then cboModel.SelectedIndex = 0

        cboModel.EndUpdate()
        drSourceTable.Close()
        CloseDatabaseConnection()


    Catch excError As Exception
        MessageBox.Show(excError.Message)

    End Try

End Sub

Private Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click

    Dim strSelect As String = ""
    Dim strModel As String = ""
    Dim cmdSelect As OleDb.OleDbCommand
    Dim drSourceTable As OleDb.OleDbDataReader
    Dim dt As DataTable = New DataTable

    If OpenDatabaseConnectionSQLServer() = False Then
        MessageBox.Show(Me, "Database Connection Error." & vbNewLine &
                        "The Application Will Now Close.",
                         Me.Text + "Error",
                        MessageBoxButtons.OK, MessageBoxIcon.Error)

        Me.Close()
    End If

    strSelect = "SELECT strMake, strModel, strYear, strMileage FROM TAutos WHERE intAutoID = " & cboModel.SelectedValue

    cmdSelect = New OleDb.OleDbCommand(strSelect, m_conAdministrator)
    drSourceTable = cmdSelect.ExecuteReader

    dt.Load(drSourceTable)

    txtMake.Text = dt.Rows(0).Item(0)
    txtMileage.Text = dt.Rows(1).Item(1)
    txtYear.Text = dt.Rows(2).Item(2)

    CloseDatabaseConnection()


End Sub

Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
    Close()
End Sub

Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click

    Dim strSelect As String = ""
    Dim strMake As String = ""
    Dim strMileage As String = ""
    Dim strYear As String = ""
    Dim intRowsAffected As Integer

    Dim cmdUpdate As OleDb.OleDbCommand

    If OpenDatabaseConnectionSQLServer() = False Then
        MessageBox.Show(Me, "Database Connection Error." & vbNewLine &
                        "The Application Will Now Close.",
                         Me.Text + "Error",
                        MessageBoxButtons.OK, MessageBoxIcon.Error)

        Me.Close()
    End If

    strMake = txtMake.Text
    strMileage = txtMileage.Text
    strYear = txtYear.Text

    strSelect = "Update TAutos Set strMake = '" & strMake & "', " & "strMileage = '" & strMileage & "', " & "strYear = '" & strYear & "', " & "Where intAutoID = " & cboModel.SelectedValue

    MessageBox.Show(strSelect)

    cmdUpdate = New OleDb.OleDbCommand(strSelect, m_conAdministrator)

    intRowsAffected = cmdUpdate.ExecuteNonQuery()

    If intRowsAffected = 1 Then
        MessageBox.Show("Update Failed")
    End If

    CloseDatabaseConnection()

End Sub
End Class

0 个答案:

没有答案
相关问题