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

Obrada greske prilikom upisa u bazu

[es] :: .NET :: .NET Desktop razvoj :: Obrada greske prilikom upisa u bazu

[ Pregleda: 1680 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sparc
Sladjan Parc

Član broj: 65760
Poruke: 134
*.exe-net.net.



Profil

icon Obrada greske prilikom upisa u bazu21.03.2011. u 09:02 - pre 158 meseci
Pocetnik sam u razvoju VB desktop aplikacija i muci me obrada greske
prilikom upisa u bazu. Koristim details formu sa datagridview-om.
Za data grid view imam zabranu azuriranja, dodavanja i brisanja, za
upis podataka u bazu koristim standardnu try catch proceduru.

Try
Me.Validate()
Me.DevizeBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.DevizeDataSet)
Me.DevizaTextBox.Focus()
Catch ex As Exception
MsgBox(ex.Message)
Me.DevizaTextBox.Focus()
End Try
Ova procedura izbaci standardnu poruku na engleskom sa nazivom
kolone u kojoj je greska, pri cemu ne mogu da ocekujem od svakog
korisnika da zna engleski.

U tabeli "Deviza" u bazi imam validaciju nad poljem "Naziv"koje ne
dozvoljava da vrednost bude null, odnosno prazno.
Znam kako to da uradim kroz formu. Medjutim, zeleo bih da
prilikom pojave greske koja dolazi kod upisa u bazu da ispitam u kojoj se
koloni javlja greska (kolonama) i da korisniku pored text polja u
formi postavim znak gde je greska.
Hvala unapred na pomoci.
 
Odgovor na temu

Dejan Carić
Oslo, Norway

Član broj: 230976
Poruke: 232
178.222.120.*

Sajt: www.dcaric.com


+26 Profil

icon Re: Obrada greske prilikom upisa u bazu22.03.2011. u 00:14 - pre 158 meseci
Citat:
sparc:
Ova procedura izbaci standardnu poruku na engleskom sa nazivom
kolone u kojoj je greska, pri cemu ne mogu da ocekujem od svakog
korisnika da zna engleski.

Korisniku se obično izbaci neka razumljiva poruka: Došlo je do greške prilikom...
A detalji greške se loguju kako bi osoba zadužena za razvoj/održavanje znala uzrok greške.
Umesto da razvijaš svoj sistem logovanja, možeš pogledati NLog.

Citat:
sparc:Medjutim, zeleo bih da
prilikom pojave greske koja dolazi kod upisa u bazu da ispitam u kojoj se
koloni javlja greska (kolonama) i da korisniku pored text polja u
formi postavim znak gde je greska.
Hvala unapred na pomoci.

Grešku bi trebalo obraditi pre upisa u bazu. Kada se greška dogodi prilikom upisa u bazu, tada je teško ili gotovo nemoguće pozicionirati korisnika na problematičnu kolonu jer greška može nastati iz više razloga:

- time out exception
- loše formatiran upit (ako se ne koristi neki ORM)
- podaci su loše formatirani
itd.

Da bi korisnika pozicionirao na problematičnu kolonu, potrebno je isparsirati tekst poruke, utvrditi uzrok...

Za validaciju podataka unutar DataGridView kontrole, možeš pogledati ovaj primer sa MSDN-a.
Ukoliko za data source koristiš kolekciju nekih tvojih objekata, a ne data set / data table, možeš pogledati Fluent Validation framework koji će ti olakšati proces pisanja validacije.
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Obrada greske prilikom upisa u bazu

[ Pregleda: 1680 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

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