не сохраняются изменения через TSQLQuery

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: не сохраняются изменения через TSQLQuery

Сообщение resident » 02.06.2016 00:22:49

Снег Север писал(а):Никогда не видел UpdateStatus для отдельной записи...

А вы никогда не ходили по моим ссылкам в этой теме?
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: не сохраняются изменения через TSQLQuery

Сообщение Снег Север » 02.06.2016 08:12:09

resident писал(а):
Снег Север писал(а):Никогда не видел UpdateStatus для отдельной записи...
А вы никогда не ходили по моим ссылкам в этой теме?
Продолжаю тупить, ибо по вашим ссылкам не обнаружил ничего про UpdateStatus для отдельной записи. Применение ApplyUpdates - это совсем из другой оперы.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2995
Зарегистрирован: 27.11.2007 16:14:47


Re: не сохраняются изменения через TSQLQuery

Сообщение Снег Север » 02.06.2016 08:56:13

pupsik,
ну вот смотрим, например, последнюю ссылку,
UpdateStatus determines the current state of the record buffer, if updates have not yet been applied to the database.
И хотя дальше там пишут про статус Record'ов, из примера видно, что определяется именно DataSet.UpdateStatus и никак иначе. Я это всегда понимал именно так - статус, независимо от числа измененных записей, есть только у DataSet.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2995
Зарегистрирован: 27.11.2007 16:14:47

Re: не сохраняются изменения через TSQLQuery

Сообщение RusDeveloper » 02.06.2016 11:10:30

Снег Север писал(а):state of the record buffer

заметьте, не state of the buffer of records или state of the dataset buffer. и на практике, увы, так и есть...
RusDeveloper
новенький
 
Сообщения: 92
Зарегистрирован: 06.04.2016 12:02:43

Re: не сохраняются изменения через TSQLQuery

Сообщение pupsik » 02.06.2016 11:46:46

RusDeveloper
Косвенно у вас, в данной ветке, два вопроса. Но они не отвечают на главный. Что вы хотите сделать...

Снег Север что мешает вам воспользоваться гуглом и узнать зачем?
По плохой, моей, памяти. Была (есть) борланда технология -midas. Позволяло производить своего рода кеширования записей в офлайн режиме. При подключении производился перенос записи. У каждой записи было свое св-во (т.е. UpdateStatus). Можно было "пробежаться" и узнать что делать с данной записью.
Можно, воспользовавшись св-ом датасета узнать в каком состоянии находится датасет.
В реальном виде данные плюшки возможно и имеют место в лазаре. Но..о ими редко кто пользуются. Учитывая редкость использования возможны баги обработки.
На оф. форуме можно найти пару рабочих примеров. можно и в ньюс конфе посмотреть.

п.с
Кеш данных можно и свой организовать. На базе хмл, к примеру.
Я, иногда, UpdateStatus для визуально отображения использовал (лет эдат ... назад). Ну..у еще был момент "перехвата" сохранения дбф (если не изменяет память - с индексами "баловался").

п.с.п.с.
заметьте, не...
уж сори но..о: заметьте данная инфа в нете свободно "лежит". Если что то не работает в коде - это не значит что баг иде или фпс. Около 90% - не верная интерпретация желаемого с действительностью.
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: не сохраняются изменения через TSQLQuery

Сообщение resident » 02.06.2016 23:59:43

Снег Север писал(а):Продолжаю тупить, ибо по вашим ссылкам не обнаружил ничего про UpdateStatus для отдельной записи. Применение ApplyUpdates - это совсем из другой оперы.

Первоначально вопрос звучал как:
как мне определить были ли сделаны изменения или нет для некоторых записей из множества?

Я что-то подумал, что вопрос как раз о том какая часть буфера была таки применена на сервере при ApplyUpdates. А если же это из другой оперы, тогда сорь.
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: не сохраняются изменения через TSQLQuery

Сообщение Nick74 » 29.03.2017 11:12:25

Та же проблема. Если БД используется только как плоская табличка, вся логика которой обрабатывается Exe-шником, то подход с ApplyUpdates замечательный и великолепный.
Но стоит повесить на базу данных простейшую логику в триггере, не дающую производить некорректные операции, как этот самый ApplyUpdates портит жизнь, так как меняет статус датасета и позицию курсора ДО передачи данных в базу данных. Даже в режиме AutoApplyUpdates и даже если в AfterPost вписать этот ApplyUpdates насильно.
Nick74
новенький
 
Сообщения: 25
Зарегистрирован: 15.03.2017 13:55:06
Откуда: Москва

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 54

Рейтинг@Mail.ru