【发布时间】:2013-11-20 17:33:02
【问题描述】:
每当我尝试从 access 数据库中读取信息时,我似乎不断收到“标准表达式中的数据类型不匹配”错误,数据库中的数据被添加到列表视图中。这是以下代码:
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
上面的粗体部分是我得到错误的地方。我已经连接到一个数据库,该数据库包含一个名为 items 的表。在该表中,只有一行 4 列用于测试:条形码、商品、价格和数量。
我希望有人能帮我解释为什么我有这个错误? 谢谢
【问题讨论】:
-
如果
txtBarcode.Text为空白或包含可能导致错误的非法字符,或者如果条形码列不是文本 -
在数据库中,我将测试条形码设置为 123。即使我将其输入文本框,我仍然会收到数据类型不匹配错误。啊没关系。我看到条形码本身的数据类型是数字。已将其更改为文本,现在可以正常工作。谢谢!
-
但是数据库列 TYPE 是什么?
-
它是数字.. 但后来将其更改为文本。我犯了一个愚蠢的错误。谢谢!
标签: sql vb.net database-connection