我想要执行此SQL语句。但是CurrentDb.Execute
我收到错误3061(参数太少。预计9)。变量中给出的值是合法的。
这是我的表:
这是我的访问表单:
这是我的代码:
updStr = "INSERT INTO Movie(movie_id, title, duration, description, publication_year, cover_image, previous_part, price, URL)" & _
" VALUES(movie_id = " & Me.TxtMovId & ", title = '" & Me.TxtTitle & "'," & _
" duration = " & Me.TxtDur & ", description = '" & Me.TxtDescr & "'," & _
" publication_year = " & Me.TxtPubl & ", cover_image = " & Me.TxtImage & "," & _
" previous_part = " & Me.TxtPrev & ", price = " & Me.TxtPrice & ", URL = '" & Me.TxtUrl & "')"
CurrentDb.Execute (updStr)
DoCmd.RunSQL
会执行字符串,但它没有效果,这是使用CurrentDb.Execute
的原因。
答案 0 :(得分:2)
VALUES
的{{1}}子句中包含字段名称。
另外,我在Stack Overflow上学到的一些我想分享的内容是,如果你要在代码中查询,你应该使用参数化查询来帮助防止有人意外搞乱你的数据库或某些孩子。试图通过在文本字段中插入命令来查看是否可以删除表。这是一个Stack Overflow链接Parameterized Queries。
以下是使用您的几个字段的简短示例:
INSERT