Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

BCB i access - problem sa "commit" i "rollback"

[es] :: C/C++ programiranje :: BCB i access - problem sa "commit" i "rollback"

[ Pregleda: 1929 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon BCB i access - problem sa "commit" i "rollback"08.11.2006. u 12:26 - pre 212 meseci
ima li ko predlog kako da uradim ovo:

Koristim Borland C++ Builder i hocu da otpocnem "ubacivanje" nekih podataka u bazu, i to tako sto korisnik upise neke podatke u odredjene edite i slicno-pritisne "ubaci" i onda se ti podaci ubace kao jedan red u bazu , pa pise sljedeci i tako N redova unese...

Podaci su vrlo vazni i ne smije se dozvoliti da se neki od redova ne unese, jer je vazna cijelina...

Zato sam to mislio uraditi sa "begin transaction" pa unosi red po red, na javljanje greske se uradi "rollback" a na klik na "sacuvaj" se uradi "commit".

E sada, tu je problem u sljedecem: ako se u vrijeme ove transakcije unese neki podatak iz neke druge forme u neku drugu tabelu a kasnije dodje do greske, onda ce se uraditi rollback i obrisace se onaj (manje vazan) podatak koji ipak ne bih htio izgubiti...

Ima li koji drugi nacin da se ovo uradi, npr. da se svi redovi polako unesu u DBGrid ili slicno i na klik dugmeta se u trenutku odrade i "begin transaction" i unos redova i "commit" i na taj nacin bi se izbjeglo gubljenje podataka koji su unijeti za vrijeme unosa ovih redova...

Ima li access mogucnost da mu se dodijele imena transakcijama pa da mi svka forma (njen unos) ima razlicito ime za transakciju...Tada bih rijesio problem?

Ja sam nesto pokusao sa ADOTable-om , sa append-om, ali na svaki sljedeci append se prosli unos trajno sacuva...
Pokusao sam i sa jos nekim njegovim f-jama tipa CancelUpdates, ali ne uspjevam da mi se to odnosi na sve nove redove unesene a pri tom ne i na unsesene podatke koji nemaju veze sa ovim glavnim unosom...

Koristim ADO i access.

Ako neko ima bilo kakvu ideju - neka kaze...


there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

aleksandarpopov
IT consultant
Senta

Član broj: 57172
Poruke: 484
*.sksyu.net.

Sajt: www.linkedin.com/in/aleks..


Profil

icon Re: BCB i access - problem sa "commit" i "rollback"08.11.2006. u 15:27 - pre 212 meseci
1. Koristi ADOQuery komponentu
2. Stavi da je Batch optimistic zakljucavanje
3. Rucno napravi post u bazu podataka, znaci na neki klik dugmeta stavi Post, posto ti ovo radi tako da prevuce podatke u klijentsku aplikaciju gde menjas podatke i te promene se ne reflektuju na bazu dok ne uradis post. Ako je doslo do greske, ili ako odustanes od snimanja u bazu pozoves CancelUpdates ili (cancelBatch) ne secam se vec, i izmene ti nece biti zapamcene u bazu podataka.
Poz
RTFM
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: BCB i access - problem sa "commit" i "rollback"10.11.2006. u 07:58 - pre 212 meseci
Ok, izgleda da je to to...
Uzeo sam ADOTable, stavio da je batch optimistic i kad god uradim append()-ove i unesem neke nove redove nikad mi ne budu zapamceni dok ne stavim ADOTable1->Post();

A ako uradim ADOTable1->Cancel batch unosi u drugim tabelama mi ostaju, sto mi je bas i trebalo...

Hmm.. ali primjetio sam da mi ni ne treba CancelBatch jer je dovoljhno ugasiti formu iz koje ovo radim i ni tada nista ne ostaje upamceno..

To je to,

hvala
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

[es] :: C/C++ programiranje :: BCB i access - problem sa "commit" i "rollback"

[ Pregleda: 1929 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.