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

ADO komponente - Prepoznavanje greski

[es] :: C programiranje :: ADO komponente - Prepoznavanje greski

[ Pregleda: 455 | Odgovora: 2 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

itf
Zagreb

Član broj: 59794
Poruke: 674
*.fsb.hr.

ICQ: 337738018


Profil

icon ADO komponente - Prepoznavanje greski28.02.2006. u 16:22

U C++ Builder-u 6.0 koristim ADO komponente za rad sa bazama podataka. Kada se dogodi neka greska kako da provjerim koja je to greska pa da na osnovu te informacije nesto napravim? Jedino sto mi pada na pamet jest usporedjivanje error stringova, no valjda postoji i inteligentnije rjesenje?

Znaci, da li igdje postoji popis svih tih greski ili nekakvi njihovi ID-ovi pa da ih tako prepoznam?
28.02.2006. u 16:22 

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 2668
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

icon Re: ADO komponente - Prepoznavanje greski28.02.2006. u 16:41
Koliko sam ja upucen, ne postoje neki ID-jevi gresaka kao sto je to bilo u BDE.

Po pravilu, greske treba traziti kolekciji:

TADOConnection::Errors

(najbolje ukljuci onaj IntelliSense da ti automatski predlozi metode)


Mad ja to radim ovako, jer mi se cini da detaljnije mogu da kazem
korisniku sta se desilo:

Code:

void __fastcall TMainDB::NekaTabelaPostError(TDataSet *DataSet, 
      EDatabaseError *E, TDataAction &Action) 

   // Iskljuci sistemske poruke o gresci
   Action = daAbort; 


   if ( StrPos( E->Message.c_str(), "duplicate values" ) != NULL ) 
   { 
      // MESSAGE: ... 
      return; 
   } 


   if ( StrPos( E->Message.c_str(), "zero-length"       ) || 
        StrPos( E->Message.c_str(), "Null value"        ) || 
        StrPos( E->Message.c_str(), "must have a value" ) || 
        StrPos( E->Message.c_str(), "Error in row"      ) || 
        StrPos( E->Message.c_str(), "Empty row cannot be inserted" ) ) 
   { 


      if ( StrPos( E->Message.c_str(), "Polje1" ) ) 
      { 
         // MESSAGE: ... 
         return; 
      } 


      if ( StrPos( E->Message.c_str(), "Polje2" ) ) 
      { 
         // MESSAGE: ... 
         return; 
      } 

      // ...

      // PORUKA: "Red ne moze biti prazan" 

      // ...

      return; 
   } 

   ShowMessage( "Nepoznata greska: " + E->Message ); 
   return; 




FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
28.02.2006. u 16:41 

itf
Zagreb

Član broj: 59794
Poruke: 674
*.fsb.hr.

ICQ: 337738018


Profil

icon Re: ADO komponente - Prepoznavanje greski28.02.2006. u 16:46
Ah... nista onda. Bacit se na analizu stringova i to je to.
28.02.2006. u 16:46 

[es] :: C programiranje :: ADO komponente - Prepoznavanje greski

[ Pregleda: 455 | Odgovora: 2 ]

Postavi temu Odgovori

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