Как уже упоминалось в другом вопросе, который вы опубликовали, ваше решение имеет риск безопасности SQL-инъекция , и вам следует использовать параметризованные запросы SQL. Кроме того, ваш conn.Execute(sql)
действительно должен быть conn.Execute sql
или Call conn.Execute(sql)
. Кроме того, благодаря использованию параметризованных запросов обработка данных становится лучше, например:
id = request.QueryString("id")
name=request.Form("name")
sex = request.Form("sex")
age = CInt(request.Form("age"))
logtime = Now
sql = "update user_table" & vbCrLf
sql = sql & "set name = @name, sex = @sex, age = @age, logtime = @logtime" & vbCrLf
sql = sql & "where id = @id" & vbCrLf
Set cmd = CreateObject("ADODB.Command")
cmd.CommandText = sql
Set cmd.ActiveConnection = conn
cmd.Prepared = True
cmd.Parameters.Refresh
cmd.Parameters("@name") = name
cmd.Parameters("@sex") = sex
cmd.Parameters("@age") = age
cmd.Parameters("@logtime") = logtime
cmd.Parameters("@id") = id
cmd.Execute
Set cmd = nothing