我正在使用以下代码试图从两个表中检索数据并使用该信息填充ComboBox。然后,当用户从ComboBox中选择一个值时,我想用从ComboBox的值匹配的数据库中检索到的数据填充表单上的所有控件(仍然没有弄清楚如何做到这一点)。
注:错误中显示的1090是我从InputBox控件收到的帐号,然后将TextboxAccount.Text值设置为它。所以我不确定这是否是我的问题所在。
这是抛出的VB异常:
"You have an error in your SQL syntax; check the manual that
corresponds with your MySQL version for the right syntax to use near
'customer.accountNumber = '1090" at line 1"
这是我的代码:
Private Sub RetrieveMySQLdata()
Try
'FOR MySQL DATABASE USE
Dim dbConn As New MySqlConnection
Dim dbQuery As String = ""
Dim dbCmd As New MySqlCommand
'Dim dbData As MySqlDataReader
Dim dbAdapter As New MySqlDataAdapter
Dim dbTable As New DataTable
If dbConn.State = ConnectionState.Closed Then
'dbConn = New MySqlConnection
dbConn.ConnectionString = String.Format("Server={0};Port={1};Uid={2};Password={3};Database=accounting", FormLogin.ComboBoxServerIP.SelectedItem, My.Settings.DB_Port, My.Settings.DB_UserID, My.Settings.DB_Password)
dbConn.Open()
End If
dbQuery = "SELECT *" & _
"FROM cc_master INNER JOIN customer ON customer.accountNumber = cc_master.customer_accountNumber" & _
"WHERE customer.accountNumber = '" & TextBoxAccount.Text & "'"
With dbCmd
.CommandText = dbQuery
.Connection = dbConn
End With
With dbAdapter
.SelectCommand = dbCmd
.Fill(dbtable)
End With
Dim i As Integer
For i = 0 To dbTable.Rows.Count - 1
ComboBoxCard.ValueMember = "cc_Number"
Next
Catch ex As Exception
MessageBox.Show("A DATABASE ERROR HAS OCCURED" & vbCrLf & vbCrLf & ex.Message & vbCrLf & _
vbCrLf + "Please report this to the IT/Systems Helpdesk at Ext 131.")
End Try
End Sub