Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 18:07 29.09.24 
Компютри и Интернет
   >> Програмисти
*Кратък преглед

Тема Въпросче...  
Автор БOИЛ ()
Публикувано12.02.03 10:41



Имам следния въпрос :
Потребителя желае да направи справка след което евентуално да редактира данните от справката . За целта в изпълнимия файл се вика метод от .DLL, който създава необходимите ADO компоненти , и след като ги инициализира вика съхранена процедура на сървъра .В метода от .DLL се отваря и затваря конекцията към SQL сървъра, като към .EXE-то се изпраща резултата
или под формата на множество отделни променливи или под формата на DateTable. Т.е. в .Exe-to не се ползват никакви ADO компоненти .

[.EXE] -> [.DLL] -> [MS SQL SERVER 2000]

Потребителя може веднага да редактира данните , може цял ден да блей пред тях и накрая на деня да ги редактира . А може и въобще да не ги редактира .
Проблема в случая е че потребителите са повече от 50 , като всеки един от тях може в даден момент да направи обръщение към едни и същи данни.
Според вас кой е най-подходящия начин да се направи така ,че когато един потребител извлича данни , и когато реши да ги редактира да е сигурен ,че друг не ги е променил пред него.
Естествено ,че първото нещо което идва на ум на човек при такъв случай е заключването, но след като огледах нещата нещо не ми харесва идеята, още повече ,че връзката на потребителя с SQL Server-a се съдава и унищожава в DLL -a .



Тема Re: Въпросче...нови [re: БOИЛ]  
Автор Resurrector (бивш МиГ)
Публикувано12.02.03 11:03



Кое не ти харесва в заключването не разбрах? Добавяш за всеки запис флаг locked, дигаш го, когато трябва да се редактира и го сваляш, когато вече е свободен.

Я вышел им наперерез!


Тема Re: Въпросче...нови [re: БOИЛ]  
АвторMr_lbkis (Нерегистриран)
Публикувано12.02.03 11:21



Uno momento! Искаш да кажеш, че ще е възможно един потребител да е отворил данните на неговия комп, да се е заблеял по колежките си, и чак привечер да се сети да ги редактира? А през това време някой вече може да ги е редактирал от друг компютър, тъй ли?

Хич не знам дали съм разбрал правилно темата, ама така каго го четях - се сещам за добрите чичковци от Майкрософт, дето написаха мрежов Ofiice. Тряа да провериш коя версия поддържа работа в мрежа (мисля че от 2к нагоре), и просто да използваш благинките. Абе, верно, че като се попретовари и става бъгав, ама в общи линии върши чудесна работа. Е, сега аз не мога да знам дали в твоя проект ще свърши работа, защото не съм запознат с проекта, но все пак ми беше приятно, че си писахме.



Тема Re: Въпросче...нови [re: БOИЛ]  
Автор jamie (Bad to the bone)
Публикувано12.02.03 13:32



Къстъм локинг. Просто си го правиш ти - не разчитай на АДО за това.
Правиш си таблица в ДБ-то с локове.
Така ще може да информираш потребителя какво става и какви действия да се предприемат.

UB40 !



Тема Re: Въпросче...нови [re: БOИЛ]  
Автор josarjan ()
Публикувано12.02.03 14:22



Ами можеш да пазиш timestamps.
Примерно за някакви данни пазиш кога последно са update-нати.
Когато някой потребител ги прочете в неговата сесия пазиш този запис.
Като тръгне да commit-ва - проверяваш дали не са променяни след него (по timestamp-a). Ако са - rollback. Ако не са - commit-ваш и променяш този запис (timestamp-a).

Нещо такова.



Тема Ami Batch Update...нови [re: БOИЛ]  
АвторADO (Нерегистриран)
Публикувано12.02.03 18:52



na rekordset-a mu e maijkata- той си влачи и оригиналните данни...




*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.