[ IDE @ 08.11.2006. 12:26 ] @
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... |