2016-12-08 155 views
-1

嗨我有一些代码的意图更新数据库中的图像的问题,有谁能告诉我我做错了什么?更新声明的问题

的代码如下

Dim SqlString1 As String = "update image set [image]=[@image],[imageno]=[@imageno],[incidentid]=[@incidentid] where [incidentid] = " & lbl_incidentid.Text & "" 
    Using cmd1 As New OleDbCommand(SqlString1, conn) 
     Dim image As New OleDbParameter("@image", ms1.ToArray) 
     Dim imageno As New OleDbParameter("@imageno", frm_16_UploadImages.img1.Text) 
     Dim incidentid As New OleDbParameter("@incidentid", Me.lbl_incidentid.Text) 
     cmd1.Parameters.Add(image) 
     cmd1.Parameters.Add(imageno) 
     cmd1.Parameters.Add(incidentid) 
     cmd1.ExecuteNonQuery() 
     cmd1.Dispose() 
     ms1.Dispose() 
End Using 

每次这个运行时,它会返回错误信息语法错误在UPDATE语句

现在我已经测试在访问SQL字符串时,工作正常,当我使用下面的代码插入而不是更新它工作正常。

Dim SqlString1 As String = "insert into [image] ([image],[imageno],[incidentid]) values ([@image],[@imageno],[@incidentid])" 
     Using cmd1 As New OleDbCommand(SqlString1, conn) 
     Dim image As New OleDbParameter("@image", ms1.ToArray) 
     Dim imageno As New OleDbParameter("@imageno", frm_16_UploadImages.img1.Text) 
     Dim incidentid As New OleDbParameter("@incidentid", Me.lbl_incidentid.Text) 
     cmd1.Parameters.Add(image) 
     cmd1.Parameters.Add(imageno) 
     cmd1.Parameters.Add(incidentid) 
     cmd1.ExecuteNonQuery() 
     cmd1.Dispose() 
     ms1.Dispose() 
End Using 

林显然做错事与更新代码,但我不知道它是什么

+0

您更新查询SQL不具备@incidentid参数(如它应该)的问题。 “有些问题”并不能告诉我们有什么问题。错误?结果?哪里不对? – LarsTech

+0

嗨@LarsTech抱歉,我已更新我的原始帖子以包含实际的错误消息。我也修改了查询,以包括incidentid,但我仍然有相同的错误信息 – Boneyt

回答

0

请编辑您的帖子,并告诉我们您的图像的代码,同时也试试这个。

Dim SqlString1 As String = "update [image] set [image]=" & ms1.ToArray & ",[imageno]=[@imageno],[incidentid]=[@incidentid] where [incidentid] = " & lbl_incidentid.Text & "" 
    Using cmd1 As New OleDbCommand(SqlString1, conn) 
     Dim image As New OleDbParameter("@image", ms1.ToArray) 
     Dim imageno As New OleDbParameter("@imageno", frm_16_UploadImages.img1.Text) 
     Dim incidentid As New OleDbParameter("@incidentid", Me.lbl_incidentid.Text) 
     cmd1.Parameters.Add(image) 
     cmd1.Parameters.Add(imageno) 
     cmd1.Parameters.Add(incidentid) 
     cmd1.ExecuteNonQuery() 
     cmd1.Dispose() 
     ms1.Dispose() 
End Using 
+0

我将编辑我的答案,如果它错了,你编辑你的帖子 –

+0

我注意到,因为在SQL中,如果你使用了保留字,所以你需要放置括号 –

0

找到的数据库表所需的括号内查询,以便它应该已经开始

Dim SqlString1 As String = "update [image] set.......