03.09.2003, 15:44 | #1 |
Участник
|
Common.update()
Привет.
Есть следующий код: ttsbegin; qr = new QueryRun(q); if(qr.next()) { curTable = qr.get(tableId); curTable.(fieldId) = value; curTable.Update(); } ttscommit; Возникает ошибка, что запись не выбрана для обновления. То есть не хватает forupdate. Вопрос куда записать forupdate? (Пробовал делать curTable.selectforupdate(true) внутри цикла - не помогает). Примеров в коде не нашел, может с Common нельзя делать update, а только insert? |
|
03.09.2003, 16:34 | #2 |
Moderator
|
Попробуй Query.userUpdate(true).
Должно помочь, хотя я сам не пробовал |
|
03.09.2003, 16:50 | #3 |
Участник
|
UserUpdate
UserUpdate = true - позволяет модифицировать сам запрос, но не возвращаемые значения
|
|
03.09.2003, 16:53 | #4 |
Banned
|
Боюсь, ответ неверный. За выборку на обновление отвечает свойство QueryBuildDatasource.update(). Стало быть код будет примерно такой:
PHP код:
PHP код:
|
|
03.09.2003, 16:55 | #5 |
Moderator
|
Цитирую:
Query.userUpdate Run on: Called Description This method is used to specify whether the query should be allowed to update the records it fetches, and to determine whether or not this is the case. Syntax public final boolean userUpdate( [boolean _value] ) "Should be allowed to update the records it fetches" относится к блокировке извлекаемых записей. Если я не прав - значит MBS наврал в документации |
|
03.09.2003, 17:09 | #6 |
Участник
|
query.datasource.update(true)
Сработало, спасибо.
А что касается UserUpdate = yes, в документации есть такая фраза determine whether the QueryForm should remember its state when it is reopened. If this property is set to Yes, the previous settings are restored. If this property is set to No, it is only possible to view the data, and editing is forbidden. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|