Столкнулся со странной ошибкой во время выполнения UpdateQuery:
"success":false,
"responseStatus": {
"ErrorCode":"FormatException",
"Message": "Expected hex 0x in '{0}'.",
"Errors":[]
},
"rowsAffected":-1,
"nextPrcElReady":false
}
Кто-нибудь знает, в чем может быть причина? Буду благодарен за подсказки
Нравится
"Франчук Виталий" написал:Кто-нибудь знает, в чем может быть причина?
В типе колонки. Дебаггером пройдите по update.setParameterValue(поле, значение, тип) и посмотрите соответствие между указаным типом и тем, какое значение задаётся.
"Варфоломеев Данила" написал:
Франчук Виталий пишет:
Кто-нибудь знает, в чем может быть причина?
В типе колонки. Дебаггером пройдите по update.setParameterValue(поле, значение, тип) и посмотрите соответствие между указаным типом и тем, какое значение задаётся.
Вот функция, которая вызывает UpdateQuery:
[javascript]
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.");
});
}
}
[/javascript]
Там в значении параметра - строка (проверил). Есть аналогичная функция, которая создает объекты с еще двумя параметрами. Конкретно этот параметр задан также. Но с InsertQuery все работает, а с UpdateQuery - нет(
"Франчук Виталий" написал:Но с InsertQuery все работает, а с UpdateQuery - нет(
значит проверить фильтр. что this.createIdColumnFilter(id) формирует (надеюсь id - это guid).
плюс скорее всего после execute будет ошибка. id в коллбеке пропадёт
"Варфоломеев Данила" написал:
Франчук Виталий пишет:
Но с InsertQuery все работает, а с UpdateQuery - нет(
значит проверить фильтр. что this.createIdColumnFilter(id) формирует (надеюсь id - это guid).
плюс скорее всего после execute будет ошибка. id в коллбеке пропадёт
[javascript]
createIdColumnFilter: function(id) {
return Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Id", id);
}
[/javascript]
Фильтр вроде как надо создаеться. Смотрел в теле запроса, который получился - там guid