База данных ASP.net SQL изменяет существующие данные строкового поля, используя параметры команды - PullRequest
0 голосов
/ 16 июня 2011

Я пытаюсь сохранить поле журнала (fldUserLog) в моей таблице базы данных, чтобы при обновлении каждого необработанного файла поле журнала было изменено с использованием заданной строки журнала.

Строка журнала

 strUserLog = "Added by : " & Session("auth_Id") & " at " & Now() & " from IP " &
      Request.ServerVariables("REMOTE_ADDR") & vbCrLf

, и я использую параметры команды SQL для запроса UPDATE.

strSQLQuery = "UPDATE myTable SET " _
    & "fldTitle  = @xTitle, " _
    & "fldDesc  = @xDesc, " _
    & "fldUserLog = fldUserLog + @xUserLog " _
    & "WHERE fldId = @xId ;"

strMessage = "updated"

ObjAddDB.setCommand(strSQLQuery)
With ObjAddDB
    .setParameters("@xTitle", frmTitle.Text)
    .setParameters("@xDesc", frmDesc.Text)
    .setParameters("@xUserLog", strUserLog)
    .setParameters("@xId", MyItemId)
End With

Обратите внимание, что setCommand и setParameters - это мои собственные методы, которые я использую в своем файле класса database.vb.

Я получаю следующую ошибку при ее выполнении

Сведения об исключении: System.Data.SqlClient.SqlException: Неверный синтаксис рядом с 'fldUserLog'.

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

1 Ответ

0 голосов
/ 16 июня 2011

Если формат значения поля fldUserLog содержит пробелы, вам нужно заключить это значение в [ ] ..

& "fldUserLog = [fldUserLog @xUserLog] " _

Полагаю, вы можете написать следующее:

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