【发布时间】:2018-07-23 23:13:37
【问题描述】:
我正在使用 Access 2016,但我遇到了一个错误,即更新了备注字段并且人们正在使用撇号,并且它会干扰要更新的代码。该代码运行良好,它会更新表格以获取特定值,除非存在撇号。再多的括号或方括号都无法解决此问题,从而将文本中的撇号与代码隔离开来。如果可能的话,我更喜欢允许我使用撇号的建议。
Private Sub btnlledit_Click()
Dim SQL As String
SQL = "UPDATE tblll " & _
"SET [LLN] = '" & Forms!frmaddll!txtlln & "',[REF] = '" & Forms!frmaddll!txtllref & "',[TRN] = '" & Forms!frmaddll!txtlltr & "',[HN] = '" & Forms!frmaddll!txtllhull & "', [LL] = '" & Forms!frmaddll!txtll & "',[CA] = '" & Forms!frmaddll!txtllca & "',[CP] = '" & Forms!frmaddll!txtllcomponent & "',[LOC] = '" & Forms!frmaddll!txtllloc & "',[LFSE] = '" & Forms!frmaddll!txtlllfse & "',[FC] = '" & Forms!frmaddll!txtllfc & "' " & _
"WHERE [LLN] = '" & Forms!frmaddll!txtlln.Value & "';"
DoCmd.RunSQL SQL
DoCmd.Requery
Me.Refresh
End Sub
【问题讨论】:
-
使用参数。这不仅可以防止 SQL 注入攻击,而且可以从一开始就解决此类问题。作为一个很好的措施,永远不要用字符串连接编写这样的 SQL 语句。
-
我对编程很陌生,你说的使用参数是什么意思?
-
我会在一分钟内将其添加为答案。
标签: sql vba apostrophe