我正在尝试通过excel用户表单作为前端更新MySQL表中的记录。 MySQL不接受撇号并抛出语法错误。
经过研究,我发现我们需要逃避撇号'使用''。 有两种方法可以实现这一点,可以使用replace()或使用预准备语句。
这是我在excel表单中用来更新MySQL中的记录的代码
Dim c As ADODB.Connection
Dim r As ADODB.Recordset
Set c = New ADODB.Connection
Dim rw As Integer
c.Open "DSN=sample"
Dim sq As String
sq = "UPDATE sample.`DEC-26-2015` SET `Site work being carried out`='" & sitecombo.value & "',`Customer Name`='" & cusname.value & "',`Customer Type`='" & ComboBox2.value & " ',`Card Type`='" & ComboBox3.value & "',`Arrival Date`=" & IIf(arvldt.value = "", "null", "'" & arvldt.value & "'") & ",`Start Date`=" & IIf(inddt.value = "", "null", "'" & inddt.value & "'") & " WHERE sample.`DEC-26-2015`.`ID`= " & Me.IDnum & ";"
Debug.Print sq
Set r = c.Execute(sq)
c.Close