Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
Добрый день! подскажите выход из такой ситуации: Есть Гуи приложение в нем таблица как лучше организовать согласование изменение таблицы на экране и в базе при нажатии кнопки "Сохранить". Т.Е. новые записи инсертить старые обновлять либо удалять чето не могу никак алгоритм придумать. делал так брал новым записям в таблице на экране поле (которое при записи данных является ключевым в таблице в базе )ставил нулем и потом заполнял значения генератором.записи которые изменялись просто брал с экрана и апдейтил. те типа если 0 то инсерт иначе апдейт. но как быть с записями которых на экране нет а в таблице есть как их определить и удалить?постарался изложить проблему подскажите плиз как лучше сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 11:56 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
А еще можно задуматься над прослойкой между БД (или движком) и ОС, что бы помочь последней лучше работать. ИМХО, ты изобретаешь велосипед. Или я ничего не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 12:01 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
да нет просто каков алгоритм изменений записей в бд.Как лучше делать чтобы согласовать данные на экране и в бд? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 12:07 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
А откуда у тебя на экране записи ? вероятно какой либо буфер ? тогда просто добавляешь вэтот условный датасет поле типа статус, которое будет принимаь допустим значения I - insert (append) D - deleted U - updated N - no changed в первоночальный момент на экран выводишь все записи и соответствено статус у всех 'N' далее в зависимости от предпринимаемых тобой действий изменяется статус в буфере (датасете) и выводятся все записи у которых статус != D, ну а при сохранении ужепонятно что делать ... правда все это сильно упрощенно (в многопользовательской системе механизм придется усложнять), а вообще можно посмотреть как это реализовано допустим в ADO.NET ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 12:11 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
oleg555да нет просто каков алгоритм изменений записей в бд. Грамотное употребление транзакций обычно решает многие проблемы. Но проблем я в твоем вопросе не увидел к сожалению. oleg555Как лучше делать чтобы согласовать данные на экране и в бд? Обычно переоткрыв набор данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 12:13 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
Зачем это все выдумывается? По одной записи сразу сохраняешь/добавляешь/удаляешь в БД и все, как только запись изменил - вперед. Через ХП. Или с клиента. Зачем выдумывать странную вещь? Не пойму совершенно -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 12:46 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
tygraЗачем это все выдумывается? Не критики ради, а справедливости для Наерное все таки в MS не совсем глупые дядки сидят, и если они придумали отсоединенный набор данных (ADO.NET) - значит это кому нибудь нужно ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 13:13 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
Ну наверно не для таких способов работы с ним. :)) На вебе очень удобно - закачал в датасет и показывай его как хочешь, фильтруй и т.д. Для чтения - если так уж точно сказать. Очень удобно на вебе с ним Но тут речь идет не об ADO.Net -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 13:16 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
refresh всего списка если надо увидеть записи измененные другими пользователями. И не изобретайте ничего такого своего. А то некоторые извращаются: через PIPE-каналы всякие оповещения делают, в IB через алерты - не делайте так - дороже потом выйдет. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 13:42 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
В Оракле/DB2 и еще где-то есть такой классный оператор MERGE . Закачиваете исходную табличку во временную. Над временной - издеваетесь как хотите. А потом - MERGE её... и всё) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 14:06 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
Спасибо всем (особенно olk )так в принципе и сделал.просто чето затупил если честно .Новый Год сказывается-)))))тема закрыта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 14:58 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
Серега oleg555да нет просто каков алгоритм изменений записей в бд. Грамотное употребление транзакций обычно решает многие проблемы. Не заглядывая в профиль сразу чувствуется интербейзовец. Так, смотрим в профиль... Я угадал ;))) Правильно ли я понял, что в данном контексте под "грамотным употреблением транзакций" подразумевается следующая схема: BEGIN TRANSACTION Непосредственное внесение в базу всех пользовательских действий неопределенное время. COMMIT по сохранению либо ROLLBACK по отмене. Я опять угадал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 15:17 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
Александр ГoлдунЯ опять угадал? Угадал, угадал. Хоть не на все 100, но угадал. Ну и...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 15:55 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
Александр ГoлдунBEGIN TRANSACTION Непосредственное внесение в базу всех пользовательских действий неопределенное время . COMMIT по сохранению либо ROLLBACK по отмене. Я опять угадал? А что это за неопределенное время? Это где такое в IB?! Что есть статистика использования длинных транзакций и на первом месте IB? Блин и что это я их не использую... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 09:13 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
Dik76А что это за неопределенное время? Это где такое в IB?! Что есть статистика использования длинных транзакций и на первом месте IB? Блин и что это я их не использую... Ну вот. А я так ждал ответа от Голдуна!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 10:27 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
Сто раз обсуждали работу с отложенными изменениями. Почему-то это часто применяют в IB :) Даже компоненты для IB (например FIB+) имеют ряд соотв. свойств. Хотя это экономия на спичках, ИМХО и лишний геморой с контролем актуальности. Более правильно для приложений в лок.сети делать сохранение сразу, а не неопределённое время спустя... :) Сохраняйте сразу. И не будет глупых вопросов "а где мой документ ? В нём было 100 строк, а щас ниодной !" :) Это обеспечит максимальную актуальность данных на экране и в базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 11:42 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
LSVСто раз обсуждали работу с отложенными изменениями. Почему-то это часто применяют в IB :) Даже компоненты для IB (например FIB+) имеют ряд соотв. свойств. Хотя это экономия на спичках, ИМХО и лишний геморой с контролем актуальности.Пользуюсь FIBPlus, однако никаких отложенных изменений не использую. В принципе не понимаю, почему программные решения (пусть и не верные) перекладываются на сервер. Сервер тут не причем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 11:50 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
Серега Александр ГoлдунЯ опять угадал? Угадал, угадал. Хоть не на все 100, но угадал. Ну и...? Что "ну и"? Будем дальше угадывать? Кроме IB с другими SQL-реверами не приходилось серьезно работать? Мне почему-то казалось, что длинные пишушие транзакции, да еще к тому же неопределенной длительности, не являются примером грамотного употребления транзакций. Даже для версионников. Чтоб не быть голословным, вот цитата с главного сайта русского сообщества фанатов IB http://ibase.ru/devinfo/pslock.htm Во-первых, проектирование приложений, в которых изменения данных выполняются в контексте продолжительных по времени читающих транзакций, является дурным тоном. LSVСто раз обсуждали работу с отложенными изменениями. Почему-то это часто применяют в IB :) Поэтому если вижу в резюме в списке SQL-серверов на первом месте IB, то отношение становится несколько предвзятым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 11:54 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
Александр ГoлдунМне почему-то казалось, что длинные пишушие транзакции, да еще к тому же неопределенной длительности, не являются примером грамотного употребления транзакций. Даже для версионников. Чтоб не быть голословным, вот цитата с главного сайта русского сообщества фанатов IB http://ibase.ru/devinfo/pslock.htm Во-первых, проектирование приложений, в которых изменения данных выполняются в контексте продолжительных по времени читающих транзакций, является дурным тоном. Так в чем дело? Тут же ясно написано, что изменеия в контексте читающей транзакции ! При чем тут IB? Только из-за того что есть такая возможность? Что ж юкон тоже версионник, видимо клеймо и к нему прицепится :) Александр Гoлдун LSVСто раз обсуждали работу с отложенными изменениями. Почему-то это часто применяют в IB :) Поэтому если вижу в резюме в списке SQL-серверов на первом месте IB, то отношение становится несколько предвзятым.На здоровье... Ваше личное отношение - Ваши проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 12:00 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
Александр ГoлдунЧто "ну и"? Будем дальше угадывать? Кроме IB с другими SQL-реверами не приходилось серьезно работать? Вообще то на основной работе я ораклоид. ИБ клоны - источник побочного заработка. Удовлетворил? Александр ГoлдунМне почему-то казалось, что длинные пишушие транзакции, да еще к тому же неопределенной длительности, не являются примером грамотного употребления транзакций. Даже для версионников. А я где то ратовал за "длинные пишушие транзакции"? Я помнится говорил о "грамотном употреблении транзакций". Или это для вас одно и тоже? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 12:10 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
Серега Александр ГoлдунМне почему-то казалось, что длинные пишушие транзакции, да еще к тому же неопределенной длительности, не являются примером грамотного употребления транзакций. Даже для версионников. А я где то ратовал за "длинные пишушие транзакции"? Я помнится говорил о "грамотном употреблении транзакций". Или это для вас одно и тоже? Нет, не одно и то же. Я же специально спросил для уточнения: http://sql.ru/forum/actualthread.aspx?tid=149187#1218725 Александр Гoлдун Правильно ли я понял, что в данном контексте под "грамотным употреблением транзакций" подразумевается следующая схема: BEGIN TRANSACTION Непосредственное внесение в базу всех пользовательских действий неопределенное время . COMMIT по сохранению либо ROLLBACK по отмене. И получил ответ: http://sql.ru/forum/actualthread.aspx?tid=149187#1218998 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 12:43 |
|
||
|
Вопрос как лучше организовать изменение записей в таблице
|
|||
|---|---|---|---|
|
#18+
Александр ГoлдунЯ же специально спросил для уточнения: На уточнение я и ответил, что не на 100%. Т.е. неопределенное время как раз и было тем что "не на 100%". А на "до уточнения" - угадал. Но при чем тут ИБ. В Оракле вообще, если не комитить ничего, то всего как бы одна транзакция на сессию (не считая автономных - но это несколько иное). И что - работать невозможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 13:06 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=160&tid=1546120]: |
0ms |
get settings: |
8ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 388ms |

| 0 / 0 |
