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

Provera da li je record zaključan u VB.NET

[es] :: .NET :: .NET Desktop razvoj :: Provera da li je record zaključan u VB.NET

[ Pregleda: 396 | Odgovora: 2 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Astek
Marković Darko
Beograd

Član broj: 128308
Poruke: 114
*.3dnet.co.yu.



Profil

icon Provera da li je record zaključan u VB.NET17.11.2007. u 08:53

Ovako,

pristupam nekom zapisu iz koda. Npr:
Code:

Dim ds as new Dataset
Dim da as new sqlClient.SqlDataAdapter
Dim cmd As New...
...
...
Dim strSql As string
strSql="SELECT ....  WHERE ID=1" - IZDVAJA SAMO 1 ZAPIS
cmd.Connection=conn
.......
da.Fil(ds, "TABELA")

.......


Kako drugim korisnicima staviti do znanja da se izdvojeni record trenutno obrađuje (bez uvođenja dodatnih polja u tbl u bazi)?



[Shadowed: dodati [code] tagovi.]

[Ovu poruku je menjao Shadowed dana 17.11.2007. u 11:53 GMT+1]
17.11.2007. u 08:53 

Astek
Marković Darko
Beograd

Član broj: 128308
Poruke: 114
*.3dnet.co.yu.



Profil

icon Re: Provera da li je record zaključan u VB.NET17.11.2007. u 09:02
Da malo skratim...

U stvari želim da iz koda zaključam tačno jedan record, obavim posao i posle ga otključam?
Takođe želim da iz koda proverim da li je neki rekord zaključan.

17.11.2007. u 09:02 

bjevta
Bratislav Jevtic
http://solair.eunet.yu/~bjevta
Kragujevac

Član broj: 5216
Poruke: 162
*.dynamic.sbb.co.yu.

Sajt: solair.eunet.yu/~bjevta


Profil

icon Re: Provera da li je record zaključan u VB.NET18.11.2007. u 07:09
može biti da neću biti od neke pomoći ali, moj odgovor je - nikako. Barem ja ne znam kako.

naime, u ado.net se koristi (barem ja koristim) tzv. "optimistic locking" što se svodi na to da svako u data set-u menja šta mu je volja, a kod update-a se detektuje nešto tipa da li je "dataset.original row = database.current row". ako jeste, update se izvrši i to je to. ako nije, okida se odgovarajući exception, koji ukazuje da je neko menjao taj record u međuvremenu, pa aplikacija mora da razreši konflikt. Problematika se komplikuje ako treba da se izvrši update u više tabela data set-a u istoj transakciji.

S druge strane, uvek sam imao neki način da izbegnem konkurentni update nad istom vrstom: jedan korisnik je zadužen za jednu tabelu, ostali je samo čitaju. Ako i rade istovremeno nad istom tabelom, onda rade samo insert. Ili, ako i rade update, nema šanse da update-uju isti slog u istom trenutku. To sam definisao u fazi logičkog dizajna baze.

Jedino što bih mogao da predložim jeste da proveriš koliko je zaista verovatno da će 2+ korisnika istovremeno "napasti" isti record. Pre toga proveri koliko je zaista potrebno da više ljudi petlja nad istim podacima - proveri business use case.
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -Brian Kernighan
18.11.2007. u 07:09 

[es] :: .NET :: .NET Desktop razvoj :: Provera da li je record zaključan u VB.NET

[ Pregleda: 396 | Odgovora: 2 ]

Postavi temu Odgovori

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