Столкнулся со странной ошибкой во время выполнения UpdateQuery:
"success":false,
"responseStatus": {
"ErrorCode":"FormatException",
"Message": "Expected hex 0x in '{0}'.",
"Errors":[]
},
"rowsAffected":-1,
"nextPrcElReady":false
}
Кто-нибудь знает, в чем может быть причина? Буду благодарен за подсказки
Нравится
"Франчук Виталий" написал:Кто-нибудь знает, в чем может быть причина?
В типе колонки. Дебаггером пройдите по update.setParameterValue(поле, значение, тип) и посмотрите соответствие между указаным типом и тем, какое значение задаётся.
"Варфоломеев Данила" написал:
Франчук Виталий пишет:
Кто-нибудь знает, в чем может быть причина?
В типе колонки. Дебаггером пройдите по update.setParameterValue(поле, значение, тип) и посмотрите соответствие между указаным типом и тем, какое значение задаётся.
Вот функция, которая вызывает UpdateQuery:
updateGame: function(id, newTitle) { if (id && newTitle) { window.console.log("New title:", newTitle); var updateQuery = Ext.create("Terrasoft.UpdateQuery", { rootSchemaName: "clrsGamesAvailable" }); updateQuery.filters.addItem(this.createIdColumnFilter(id)); updateQuery.setParameterValue("clrsGameTitle", newTitle, Terrasoft.DataValueType.TEXT); updateQuery.execute(function() { window.console.log("Game", id, "was updated."); }); } }
Там в значении параметра - строка (проверил). Есть аналогичная функция, которая создает объекты с еще двумя параметрами. Конкретно этот параметр задан также. Но с InsertQuery все работает, а с UpdateQuery - нет(
"Франчук Виталий" написал:Но с InsertQuery все работает, а с UpdateQuery - нет(
значит проверить фильтр. что this.createIdColumnFilter(id) формирует (надеюсь id - это guid).
плюс скорее всего после execute будет ошибка. id в коллбеке пропадёт
"Варфоломеев Данила" написал:
Франчук Виталий пишет:
Но с InsertQuery все работает, а с UpdateQuery - нет(
значит проверить фильтр. что this.createIdColumnFilter(id) формирует (надеюсь id - это guid).
плюс скорее всего после execute будет ошибка. id в коллбеке пропадёт
createIdColumnFilter: function(id) { return Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Id", id); }
Фильтр вроде как надо создаеться. Смотрел в теле запроса, который получился - там guid