更新声明的问题

时间:2016-12-08 16:46:26

标签: vb.net

您好我的一些代码问题是为了更新数据库中的图像,有人可以告诉我我做错了吗?

代码如下

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语句中的语法错误

现在我已经在Access中测试了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

我显然对更新代码做错了,但我不知道它是什么

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

发现数据库表在查询中需要括号的问题,所以它应该已经开始

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