每当我尝试从访问数据库读取信息时,我似乎继续在条件表达式中出现“数据类型不匹配”错误,数据库中的数据正被添加到列表视图中。以下是代码:
POStable.Clear()
connection1.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=Shop.mdb"
connection1.Open()
POSAdapter = New OleDb.OleDbDataAdapter("Select * from items where barcode = '" & txtBarcode.Text & "'", connection1)
CommandBuilder = New OleDb.OleDbCommandBuilder(POSAdapter)
POSAdapter.Fill(POStable) ' ****
connection1.Close()
If POStable.Rows.Count = 0 Then
MsgBox("Item does not exist")
Else
Dim objListItem As ListViewItem
objListItem = ListViewPOS.Items.Add(POStable.Rows(0)(1).ToString)
objListItem.SubItems.Add(1)
objListItem.SubItems.Add("£" & (POStable.Rows(0)(2).ToString))
End If
BOLD上面的部分是我收到错误的地方。我连接到一个包含一个名为items的表的数据库。在该表中,只有一行和4列用于测试:条形码,项目,价格和数量。
我希望有人能帮我解释为什么我有这个错误? 感谢
答案 0 :(得分:1)
如果您的文本框包含illigal字符,请尝试此操作
POSAdapter = New OleDb.OleDbDataAdapter("Select * from items where barcode = [" & txtBarcode.Text & "]", connection1)