• 5 odgovora
  • 2.962 pregleda
SQLCommand - status izvršenja komande 30.11.2008. u 13:07 · pre 217 meseci #1
Zdravo,
Zna li neko kako da proverim status izvršenja komande. Da li je izvršena ili se još izvršava...
Problem je u tome što kada punim data set podacim kako se koj red doda tako se pozove i currentitemchanged event u BindingSource kontroli a to mi ne valja jer se u tom kodu pozivam na tabelu u dataset-u koja još nije napunjena. Zato mi treba provera da li se prethodna komanda završila da bi mogao da idem dalje.

Znači imam sqlCommand i kada pozovem Execute metod treba mi nešto kao Status kod Connection objekta... Executing ili Executed ...

Pozdrav,
Vlado
Re: SQLCommand - status izvršenja komande 01.12.2008. u 02:07 · pre 217 meseci #2
imas one metode begininit()/endinit ili beginload()/endload (ne znam tacno) koje iskljucuju sve eventove na datasetu.

tako da , iskljucis eventove, napunis ds, ukljucin eventove...
Re: SQLCommand - status izvršenja komande 01.12.2008. u 09:18 · pre 217 meseci #3
Nije mi bas najjasniji tvoj problem, Execute je sinhroni/blocking metod i kad se poziv vrati znaci i da je komanda izvrsena.
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: SQLCommand - status izvršenja komande 01.12.2008. u 10:00 · pre 217 meseci #4
...početna situacija je da je dataset prazan i bindingSource.Current je NULL...kada poče punjenje tabele, na koju pokazuje bindingSource, odmah nakon upisa prvog zapisa (komanda se i dalje izvršava) tada se i bindingSource.Current menja i samim time se i pokreće događaj CurrentItemChanged...u toj metodi ja pozivam drugi dataadapter da napuni drugu tabelu, na osnovu podataka iz prve tabele...problem je u tome što dok jedna komanda puni dataset druga ne može...moram da sačekam prva da se završi pa tek onda da izvršim drugu...
...SQLCommand ima događaj StatementCompleted koji se izvršava po izvršenju komande ali to onda znači da ja moram da napravim neki fleg koji će da prati izvršenje komande...
...nadao sam se da već postoji ugrađen taj mehanizam u komandu...
Re: SQLCommand - status izvršenja komande 01.12.2008. u 12:08 · pre 217 meseci #5
Znaci ti imas master-detail prikaz sa dinamickim ucitavanjem details tabele koji implementiras preko CurrentItemChanged eventa, a sve si to postavio kroz dizajner, ne ;).
To ti je prilicno tricky resenje (problem sa punjenjem je samo jedan od problema). Za pocetak bolje koristi CurrentChanged event ako ucitavanje details tabele zavisi samo od kljuca, CurrentItemChanged ce se dizati i kad ti korisnik promeni neko polje u trenutnom redu, ne samo kad se promeni red. Dalje, nemoj vezivati dataset za bindingsource iz dizajnera, instanciraj novi napuni ga master podacima i onda ga ubaci u bindingsource (a mozes i da zamenis onaj sa forme ako i druge komponente koriste taj dataset)
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: SQLCommand - status izvršenja komande 01.12.2008. u 13:14 · pre 217 meseci #6
...dobar predlog ali opet problemi...
Događaj CurrentChanged se između ostalog podiže i u ovoj situaciji "The DataSource or DataMember properties change." tako da u momentu kada ukinem binding sa DataSetom imaću isti problem čak i problem više jer sam izgubio vezu sa tabelom...moglo bi i tako da se zbuždi ali mislim da je rešenje mog problema u sqlCommand.StatementCompleted događaju...Occurs when the execution of a Transact-SQL statement completes.
Napravim fleg koji kad je recimo -1:Komanda se izvršava, 0:nema vraćenih zapisa, >0:broj vraćenih zapisa...

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme