您可以使用参数(推荐)或使用“替换”来更正此问题。
& Replace(txtDescription,"'","''") &
Dim cmd As New ADODB.command
cn.Open ServerConnect
cmd.ActiveConnection = cn
stsql = "INSERT INTO Products (ProductName, " _
& "ProductDescription, ProductUnit, supplierID) " _
& "Values (param1,param2,param3,param4)"
cmd.CommandText = stsql
cmd.CommandType = adCmdText
With cmd
.Parameters.Append .CreateParameter( _
"param1", adInteger, adParamInput, , c@R_61_2419@ItemNum)
.Parameters.Append .CreateParameter( _
"param2", adVarChar, adParamInput, 50, txtDescription )
.Parameters.Append .CreateParameter( _
"param3", adInteger, adParamInput, , txtUnit )
.Parameters.Append .CreateParameter( _
"param4", adInteger, adParamInput, , linkPID )
End with
cmd.Execute recs
请注意,尽管我已将这些参数命名为param1到param4,但重要的是顺序,该顺序必须与参数的使用顺序匹配。