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