ADO.NET

8 отговора 346 прегледа
#1

ADO.NET

Я някой да ми обясни следната хватка. През adapter пълня dataset-а. Сега се откачам от базата. Ръчкам в dataset-а и след 12 часа правя Update през adapter-a. Сега базата се синхронизира с моите данни. Нека сега няколко души четат от базата и да се откачат от нея. Нека в базата да има таблица със налични стоки. Ако добавят стоки добре. Ама ако продават става каша. В края на деня като синхронизират ще се окаже че са продали повече стока отколкото има в склада. Това понеже няма как да засекат че друг вече е продал последната бройка. Някъде разсъждавам грешно ама къде...?



Отговор
в отговор на мopaв #2

Re: ADO.NET

Базата се ъпдейтва преди и след всяка транзакция.Би трябвало да се направи така,че ако има един юзер е заредил базата и ще прави транзакция,другите
да чакат.

Отговор
в отговор на мopaв #3

Re: ADO.NET

Ами по принцип АДО.НЕТ модела е такъв - оптимистик(по дефаулт), т.е усер1 зарежда данни, усер2 зарежда след него и ъпдейтва. Когато усер1 иска да ъпдейтне, няма да стане, защото данните са променени:
update products set Quatntity=@Quantity where id=@id and Quatntity=@OriginalQuatntity и т.н.
Т.е ако няма ъпдейт, селектваш пак или си правиш някаква твоя логика. Ако това не те устройва, си правиш таймстамп.

Отговор
в отговор на aз #4

Re: аз и AiSiktiriks

Нека ситрин всички разпространители през pda четат от базата. После хвърчат по задачи и вечер се отчитат като продажби и заявки. Май се стига до GPRS?!

Отговор
в отговор на мopaв #5

Re: ADO.NET

Ами няма начин да избегнеш продаването на повече стоки отколкото има в наличие, без да получаваш информация колко са наличните в момента. Ако проблема ти е реален а не е само задачка за упражнение - тогава си промени модела за работа. В смисъл, както някой спомена вече, актуализиране при всяка продажба по някакъв начин. Или квоти за продажба - но за това трябва някой да седне да анализира продажбите.

Отговор
в отговор на мopaв #6

Re: ADO.NET

ами няма нищо странно в разсъжденията ти ... а моделите са няколко и ето два да речем ( разбира се това са само вариации на темата)
- обема на "стоките" е стого ограничен и не можеш да продаваш повече от наличността - то тогава залага квоти на дистрибуторите в които те могат да се разпростират при продажбите. т.е за вски един има максимално количество вкоето той може да оперира. това е един мноо "скопен" модел и честно нито един търговски отдел няма да се съгласи да работи по тоя начин. ( е поне аз мисля така)
- обема на "стоките" е неограничен и при синхронизация в края на деня се определя продаденото количество без да се съобразява с наличността в "склада" като дефицита от стоки се прехвърля на доставчиците за попълване като наличност в рамките на срока на доставка към клиентите

Но това не е .. как да кажа проблем на програмиста а ... търговска политика

Отговор
в отговор на ... #7

Re: ADO.NET

Писалия по-горе е прав, че проблема е на търговска политика. Един друг вариант е да продаваш с 20-30 дни доставка. Например, ако предишния ден си бил близо до изчерпване на наличността, да смениш гарантираната дата с деня, когато очакваш да получиш стока + 1 седмица или колкото ви трябва да освободите партидата от митницата.

Отговор
в отговор на VBprogrammer #8

Re: ADO.NET

Методът е много прост.
Направи всеки от доставчиците склад и после си напиши некакво тулче за реполикация. И за по- пълен контрол изписвай стоките сутрин към всеки доставчик. Така няма да има бъркане в кацата с меда.

Отговор
в отговор на мopaв #9

Re: ADO.NET



Отговор