Обновить несколько таблиц с одним подключением? - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь обновить пару таблиц с помощью одной строки подключения, так как я делаю форму отправки, которая обновляет форму, и я не знаю, как я могу обновить всю информацию, поскольку она находится в разных таблицах , как я это делаю, это так:

<!-- #include virtual=/shared_acceso_data/cls_acceso_data/fc_Acceso_Data_Body.asp-->
    set rs_Actualizar = Server.CreateObject("ADODB.Recordset")
    rs_Actualizar.Open  "UPDATE         dbo_cip" &_
                        "SET            codigo_unico_certificado=" &codigo_unico_certificado &_
                        "WHERE          codigo_unico_certificado=" &codigo_unico_certificado &_

                        "UPDATE         dbo_cip" &_
                        "SET            nombre_solicitante_certificado="&nombre_solicitante_certificado &_
                        "WHERE          nombre_solicitante_certificado="&nombre_solicitante_certificado &_

                        "UPDATE         dbo_estado_certificado" &_
                        "SET            codigo_estado_certificado="&codigo_estado_certificado &_
                        "WHERE          codigo_estado_certificado="&codigo_estado_certificado,cn_body (cn_body is the connection string)

Я получаю следующую ошибку:

Поставщик Microsoft OLE DB для драйверов ODBC Ошибка «80040e14» [Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Неверный синтаксис рядом с «codigo_unico_certificado». Лин 71

Где строка 71 будет эквивалентна первой строке запроса SQL.

Я не знаю, как я могу это сделать.

1 Ответ

0 голосов
/ 30 апреля 2019

Попробуйте это:

set rs_Actualizar = Server.CreateObject("ADODB.Recordset")
dim mySqlString
mySqlString = "UPDATE         dbo_cip " &_
                    "SET            codigo_unico_certificado=" & codigo_unico_certificado & " " &_
                    "WHERE          codigo_unico_certificado=" & codigo_unico_certificado & "; " &_

                    "UPDATE         dbo_cip " &_
                    "SET            nombre_solicitante_certificado=" & nombre_solicitante_certificado & " " &_
                    "WHERE          nombre_solicitante_certificado=" & nombre_solicitante_certificado & "; " &_

                    "UPDATE         dbo_estado_certificado " &_
                    "SET            codigo_estado_certificado=" & codigo_estado_certificado & " " &_
                    "WHERE          codigo_estado_certificado=" & codigo_estado_certificado & ";" 

rs_Actualizar.Open mySqlString, cn_body

Похоже, вам просто не хватает пробелов перед предложениями WHERE.Также хорошая идея заключить вас в одинарные кавычки, если они имеют строковый тип, например CHAR или VARCHAR.Разделите каждую инструкцию UPDATE точкой с запятой, если вы используете MSSQL 2005 или более позднюю версию.

UPDATE: убрал одинарные кавычки, поскольку плакат подтвердил, что значения не являются VARCHAR.ОБНОВЛЕНИЕ 2: Конкатенация отдельных строк к переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...