powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос как лучше организовать изменение записей в таблице
22 сообщений из 22, страница 1 из 1
Вопрос как лучше организовать изменение записей в таблице
    #32849264
oleg555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! подскажите выход из такой ситуации:

Есть Гуи приложение в нем таблица как лучше организовать согласование изменение таблицы на экране и в базе при нажатии кнопки "Сохранить".
Т.Е. новые записи инсертить старые обновлять либо удалять
чето не могу никак алгоритм придумать.
делал так брал новым записям в таблице на экране поле (которое при записи данных является ключевым в таблице в базе )ставил нулем и потом заполнял значения генератором.записи которые изменялись просто брал с экрана и апдейтил.
те типа если 0 то инсерт
иначе апдейт.
но как быть с записями которых на экране нет а в таблице есть как их определить и удалить?постарался изложить проблему подскажите плиз как лучше сделать?
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32849282
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще можно задуматься над прослойкой между БД (или движком) и ОС, что бы помочь последней лучше работать.
ИМХО, ты изобретаешь велосипед. Или я ничего не понял.
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32849307
oleg555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да нет просто каков алгоритм изменений записей в бд.Как лучше делать чтобы согласовать данные на экране и в бд?
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32849323
olk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А откуда у тебя на экране записи ? вероятно какой либо буфер ?
тогда просто добавляешь вэтот условный датасет поле типа статус,
которое будет принимаь допустим значения
I - insert (append)
D - deleted
U - updated
N - no changed
в первоночальный момент на экран выводишь все записи и соответствено статус у всех 'N'
далее в зависимости от предпринимаемых тобой действий изменяется статус в буфере (датасете) и выводятся все записи у которых статус != D,
ну а при сохранении ужепонятно что делать ...
правда все это сильно упрощенно (в многопользовательской системе механизм придется усложнять), а вообще можно посмотреть как это реализовано допустим в ADO.NET
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32849333
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oleg555да нет просто каков алгоритм изменений записей в бд.
Грамотное употребление транзакций обычно решает многие проблемы. Но проблем я в твоем вопросе не увидел к сожалению.


oleg555Как лучше делать чтобы согласовать данные на экране и в бд?
Обычно переоткрыв набор данных.
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32849440
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем это все выдумывается?

По одной записи сразу сохраняешь/добавляешь/удаляешь в БД и все, как только запись изменил - вперед. Через ХП. Или с клиента. Зачем выдумывать странную вещь? Не пойму совершенно

-- Tygra's --
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32849527
olk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraЗачем это все выдумывается?
Не критики ради, а справедливости для
Наерное все таки в MS не совсем глупые дядки сидят, и если они придумали
отсоединенный набор данных (ADO.NET) - значит это кому нибудь нужно ...
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32849540
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну наверно не для таких способов работы с ним. :))

На вебе очень удобно - закачал в датасет и показывай его как хочешь, фильтруй и т.д. Для чтения - если так уж точно сказать. Очень удобно на вебе с ним

Но тут речь идет не об ADO.Net

-- Tygra's --
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32849618
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refresh всего списка если надо увидеть записи измененные другими пользователями.
И не изобретайте ничего такого своего. А то некоторые извращаются: через PIPE-каналы всякие оповещения делают, в IB через алерты - не делайте так - дороже потом выйдет.
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32849702
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Оракле/DB2 и еще где-то есть такой классный оператор
MERGE . Закачиваете исходную табличку во временную. Над временной - издеваетесь как хотите. А потом - MERGE её... и всё)
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32849870
oleg555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем (особенно olk )так в принципе и сделал.просто чето затупил если честно .Новый Год сказывается-)))))тема закрыта
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32849941
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Серега oleg555да нет просто каков алгоритм изменений записей в бд.
Грамотное употребление транзакций обычно решает многие проблемы.


Не заглядывая в профиль сразу чувствуется интербейзовец. Так, смотрим
в профиль...
Я угадал ;)))

Правильно ли я понял, что в данном контексте под "грамотным употреблением
транзакций" подразумевается следующая схема:

BEGIN TRANSACTION

Непосредственное внесение в базу всех пользовательских действий
неопределенное время.

COMMIT по сохранению либо ROLLBACK по отмене.

Я опять угадал?
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32850069
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГoлдунЯ опять угадал?

Угадал, угадал. Хоть не на все 100, но угадал. Ну и...?
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32850823
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГoлдунBEGIN TRANSACTION

Непосредственное внесение в базу всех пользовательских действий
неопределенное время .

COMMIT по сохранению либо ROLLBACK по отмене.

Я опять угадал?
А что это за неопределенное время? Это где такое в IB?! Что есть статистика использования длинных транзакций и на первом месте IB? Блин и что это я их не использую...
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32850980
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dik76А что это за неопределенное время? Это где такое в IB?! Что есть статистика использования длинных транзакций и на первом месте IB? Блин и что это я их не использую...
Ну вот. А я так ждал ответа от Голдуна!!!
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32851183
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сто раз обсуждали работу с отложенными изменениями.
Почему-то это часто применяют в IB :) Даже компоненты для IB (например FIB+) имеют ряд соотв. свойств. Хотя это экономия на спичках, ИМХО и лишний геморой с контролем актуальности.
Более правильно для приложений в лок.сети делать сохранение сразу, а не неопределённое время спустя... :)
Сохраняйте сразу. И не будет глупых вопросов "а где мой документ ? В нём было 100 строк, а щас ниодной !" :)
Это обеспечит максимальную актуальность данных на экране и в базе.
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32851204
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVСто раз обсуждали работу с отложенными изменениями.
Почему-то это часто применяют в IB :) Даже компоненты для IB (например FIB+) имеют ряд соотв. свойств. Хотя это экономия на спичках, ИМХО и лишний геморой с контролем актуальности.Пользуюсь FIBPlus, однако никаких отложенных изменений не использую. В принципе не понимаю, почему программные решения (пусть и не верные) перекладываются на сервер. Сервер тут не причем!
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32851215
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Серега Александр ГoлдунЯ опять угадал?

Угадал, угадал. Хоть не на все 100, но угадал. Ну и...?

Что "ну и"?
Будем дальше угадывать? Кроме IB с другими SQL-реверами не приходилось серьезно работать?

Мне почему-то казалось, что длинные пишушие транзакции, да еще к тому же
неопределенной длительности, не являются примером грамотного употребления
транзакций. Даже для версионников. Чтоб не быть голословным, вот цитата
с главного сайта русского сообщества фанатов IB


http://ibase.ru/devinfo/pslock.htm
Во-первых, проектирование приложений, в которых изменения данных выполняются в контексте продолжительных по времени читающих транзакций, является дурным тоном.

LSVСто раз обсуждали работу с отложенными изменениями.
Почему-то это часто применяют в IB :)
Поэтому если вижу в резюме в списке SQL-серверов на первом месте IB,
то отношение становится несколько предвзятым.
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32851225
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГoлдунМне почему-то казалось, что длинные пишушие транзакции, да еще к тому же
неопределенной длительности, не являются примером грамотного употребления
транзакций. Даже для версионников. Чтоб не быть голословным, вот цитата
с главного сайта русского сообщества фанатов IB


http://ibase.ru/devinfo/pslock.htm
Во-первых, проектирование приложений, в которых изменения данных выполняются в контексте продолжительных по времени читающих транзакций, является дурным тоном.
Так в чем дело? Тут же ясно написано, что изменеия в контексте читающей транзакции ! При чем тут IB? Только из-за того что есть такая возможность? Что ж юкон тоже версионник, видимо клеймо и к нему прицепится :)
Александр Гoлдун LSVСто раз обсуждали работу с отложенными изменениями.
Почему-то это часто применяют в IB :)
Поэтому если вижу в резюме в списке SQL-серверов на первом месте IB,
то отношение становится несколько предвзятым.На здоровье... Ваше личное отношение - Ваши проблемы.
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32851249
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГoлдунЧто "ну и"?
Будем дальше угадывать? Кроме IB с другими SQL-реверами не приходилось серьезно работать?
Вообще то на основной работе я ораклоид. ИБ клоны - источник побочного заработка. Удовлетворил?

Александр ГoлдунМне почему-то казалось, что длинные пишушие транзакции, да еще к тому же неопределенной длительности, не являются примером грамотного употребления транзакций. Даже для версионников.
А я где то ратовал за "длинные пишушие транзакции"? Я помнится говорил о "грамотном употреблении транзакций". Или это для вас одно и тоже?
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32851348
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Серега

Александр ГoлдунМне почему-то казалось, что длинные пишушие транзакции, да еще к тому же неопределенной длительности, не являются примером грамотного употребления транзакций. Даже для версионников.
А я где то ратовал за "длинные пишушие транзакции"? Я помнится говорил о "грамотном употреблении транзакций". Или это для вас одно и тоже?

Нет, не одно и то же.

Я же специально спросил для уточнения:
http://sql.ru/forum/actualthread.aspx?tid=149187#1218725

Александр Гoлдун
Правильно ли я понял, что в данном контексте под "грамотным употреблением
транзакций" подразумевается следующая схема:

BEGIN TRANSACTION

Непосредственное внесение в базу всех пользовательских действий
неопределенное время .

COMMIT по сохранению либо ROLLBACK по отмене.


И получил ответ:
http://sql.ru/forum/actualthread.aspx?tid=149187#1218998
...
Рейтинг: 0 / 0
Вопрос как лучше организовать изменение записей в таблице
    #32851411
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГoлдунЯ же специально спросил для уточнения:
На уточнение я и ответил, что не на 100%. Т.е. неопределенное время как раз и было тем что "не на 100%".
А на "до уточнения" - угадал.

Но при чем тут ИБ. В Оракле вообще, если не комитить ничего, то всего как бы одна транзакция на сессию (не считая автономных - но это несколько иное). И что - работать невозможно?
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос как лучше организовать изменение записей в таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]