在VBA中使用预处理语句与MySQL

时间:2016-10-11 03:26:04

标签: mysql excel-vba vba excel

我正在尝试通过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

0 个答案:

没有答案