如何使用 vb.net 连接访问单元格
How to concat to access cell using vb.net
我想使用 vb.net 文本框中的文本连接(添加到已存在的内容)到访问单元格。我尝试使用 UPDATE 但出现语法错误。这是我到目前为止尝试过的
Dim ds As New DataSet()
Dim ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\equip_full.mdb;Jet OLEDB:Database Password=matt"
Dim db As String = "Update INTO Equipment set TypeItem = ISNULL(TypeItem, '') & @EquipmentItem WHERE EquipmentCat = @category"
Using cn As New OleDbConnection(ConnectionString)
Using cmd = New OleDbCommand(db, cn)
cn.Open()
cmd.Parameters.Add("@EquipmentItem", OleDbType.VarWChar).Value = Form4.TextBox1.Text & ";"
cmd.Parameters.Add("@category", OleDbType.VarWChar).Value = Me.item_text.Text
Using reader = cmd.ExecuteReader()
'some code...
End Using
End Using
End Using
更新查询的正确语法是
UPDATE tablename SET field=value, field1=value1,.... WHERE condition
然后您需要删除 INSERT 查询中使用的 INTO
Dim db As String = "Update Equipment set TypeItem = .... " &
"WHERE EquipmentCat = @category"
修复第一个语法错误后,ISNull
又出现了另一个问题
ISNull 是一个布尔表达式 return 真或假。
如果您想用空字符串替换空值,您需要 IIF 函数的帮助,您可以使用该函数来测试 ISNull 的 return 值并准备用于连接 @Equipment 参数的基本字符串。
像这样
Dim db As String = "Update Equipment " & _
"set TypeItem = IIF(ISNULL(TypeItem),'', TypeItem) & @EquipmentItem " & _
"WHERE EquipmentCat = @category"
我想使用 vb.net 文本框中的文本连接(添加到已存在的内容)到访问单元格。我尝试使用 UPDATE 但出现语法错误。这是我到目前为止尝试过的
Dim ds As New DataSet()
Dim ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\equip_full.mdb;Jet OLEDB:Database Password=matt"
Dim db As String = "Update INTO Equipment set TypeItem = ISNULL(TypeItem, '') & @EquipmentItem WHERE EquipmentCat = @category"
Using cn As New OleDbConnection(ConnectionString)
Using cmd = New OleDbCommand(db, cn)
cn.Open()
cmd.Parameters.Add("@EquipmentItem", OleDbType.VarWChar).Value = Form4.TextBox1.Text & ";"
cmd.Parameters.Add("@category", OleDbType.VarWChar).Value = Me.item_text.Text
Using reader = cmd.ExecuteReader()
'some code...
End Using
End Using
End Using
更新查询的正确语法是
UPDATE tablename SET field=value, field1=value1,.... WHERE condition
然后您需要删除 INSERT 查询中使用的 INTO
Dim db As String = "Update Equipment set TypeItem = .... " &
"WHERE EquipmentCat = @category"
修复第一个语法错误后,ISNull
又出现了另一个问题
ISNull 是一个布尔表达式 return 真或假。
如果您想用空字符串替换空值,您需要 IIF 函数的帮助,您可以使用该函数来测试 ISNull 的 return 值并准备用于连接 @Equipment 参数的基本字符串。
像这样
Dim db As String = "Update Equipment " & _
"set TypeItem = IIF(ISNULL(TypeItem),'', TypeItem) & @EquipmentItem " & _
"WHERE EquipmentCat = @category"