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

Povezivanje acces tabele preko ConnectionString-a?

[es] :: Pascal / Delphi / Kylix :: Povezivanje acces tabele preko ConnectionString-a?

[ Pregleda: 3214 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

rankez
Ravna Gora

Član broj: 2850
Poruke: 96
194.106.174.*



Profil

icon Povezivanje acces tabele preko ConnectionString-a?09.05.2006. u 06:59 - pre 218 meseci
Kakva je razlika povezivanja tabele iz access baze u ova dva slucaja:
1. ADOTable svojstvo ConnectionString na tabelu.
2. ADOTable svojstvo Connection na ADOConnection, a zatim ADOConnection svojstvo ConnectionString na tabelu.
Ima li razlike, kada se koristi prvi a kada drugi slucaj?

Kako glasi sintaksa naredbe "try", objasnjenje iz help-a mi nije bas najjasnije. Koji je njen fizicki smisao, poznajem ranije verzije pascala gde ona nije figurisala. Koji su primarni slucajevi njene upotrebe?
 
Odgovor na temu

marcha
Nikola Marcic
Beograd/Leskovac

Član broj: 6454
Poruke: 108
*.ptt.yu.

ICQ: 156892888


+1 Profil

icon Re: Povezivanje acces tabele preko ConnectionString-a?09.05.2006. u 09:50 - pre 218 meseci
Ukoliko zelis da vise komponenti tipa ADOTable, ADOQuery vezes na istu bazu koristis TADOConnection. To ti omogucava da samo na jednom mestu setujes ConnectionString koji ce potom vaziti za sve objekte vezane na TADOConnection.

try..finally ti omogucava da osiguras oslobadjanje resurasa koje zauzme tvoj kod tokom izvrsavanja.
Ako kod koji se nalazi u telu bloka napravi neki neobradjeni izuzetak (gresku) obavezno se izvrsi ono sto se nalazi iza kljucne reci finally. Ako se u donjem primeru desi nesto nepredvidjeno sa metodom Lst.LoadFromFile(AFileName) objekat Lst ce sigurno biti oslobodjen. Ukoliko sve prodje kako treba takodje se unistava, tj. ako postoji datoteka sa nazivom AFileName procedura ce prikazati dialog sa sadrzajem datoteke i osloboditi objekat Lst iz memorije,a ukoliko ne uspe da procita datoteku AFileName odmah iskace na deo iza Finally i oslobadja Lst.

Code:

primer 1.
procedure ObradiDatoteku(AFileName: TFileName);
var
  Lst: TStrings;
begin
  Lst := TStringList.Create;
  try
    Lst.LoadFromFile(AFileName);
    ShowMessage(Lst.Text);
  finally
    Lst.Free;
  end;
end;

try.. except ti omogucava da kontrolises izuzetke. Izuzeci su klase TException.
U primeru 2, mozes da vidis sta se desavava kada koirsitmo postavku try.. except.
Izuzeci su jako mocna alatka. Ovo dole je samo osnovni primer koji ce ti, nadam se, pomoci da shvatis kako radi.

Ukoliko su X i Y korektne vrednosti prikazuje se rezultat njihovog deljenja a ukoliko za Y prosledis nulu dobices poruku o gresci.

Pogledaj "Raising and handling exceptions" u Helpu, a cini mi se da je i ovde na ES neko vec pisao o tome.
Code:

primer 2.
procedure Podeli(X, Y: double);
var
  Z: double;
begin
  try
    Z := X / Y;
    ShowMessageFmt('Rezultat: %n', [z]);
  except
    on EZeroDivide do
      ShowMessage('Deljenje nulom nema smisla');
  end;
end;



[Ovu poruku je menjao marcha dana 09.05.2006. u 11:43 GMT+1]
Marcha
-----------------------------------
Pretpostavka je majka zajeba.
 
Odgovor na temu

rankez
Ravna Gora

Član broj: 2850
Poruke: 96
194.106.174.*



Profil

icon Re: Povezivanje acces tabele preko ConnectionString-a?09.05.2006. u 11:18 - pre 218 meseci
Hvala na odgovoru za ADO.

Potpitanja za try:
Ako sam dobro razumeo, sintaksa za try...finally i try...except zgleda ovako:

try
blok naredbi 1
finally
blok naredbi 2
end;

- Kada se ulazi u "blok naredbi 2"? Samo kada se pojavi greska u "bloku naredbi 1" ili uvek prilikom izvrsavanja koda?
- Kada program naidje na gresku u bloku naredbi 1 da li se odmah ide na finally ili se izvrsavaju i linije koda izmedju greske i finally-a.
- Da li se konstrukcija try...finally koristi samo kod datoteka, odnosno kod procesuiranja fajlova ili ima i druge primene. Tjs, npr. da li se ovakvom konstrukcijom moze ispitivati korektnost matematicke funkcije ili se tada iskljucivo ide na try...except.
- Sta se desava sa kodom ako se pojavi greska u bloku naredbi 2?
- Da li se izvrsava finally u slucaju koriscenja komandi Exit ili Break?

try...except sintaksa:

try
blok naredbi 1
except
on greska1 do blok 1
on greska2 do blok 2
....
else blok n
end;

- Da li se "blok naredbi 1" sastoji iz vise komandi ili se mora sastojati iskljucivo iz jedne komande u odnosu na koju se ispituje "izuzetak" (except)? Ukoliko se blok naredbi 1 moze sastojati iz vise komandi znaci li to da se except primenjuje samo na prvu komandu u bloku ili ne?

Znam da se neka od ovih pitanja mogu i eksperimentalno proveriti ali ipak bih vise voleo da procitam i misljenje ljudi na forumu:)
 
Odgovor na temu

marcha
Nikola Marcic
Beograd/Leskovac

Član broj: 6454
Poruke: 108
*.ptt.yu.

ICQ: 156892888


+1 Profil

icon Re: Povezivanje acces tabele preko ConnectionString-a?09.05.2006. u 11:33 - pre 218 meseci
- Kada se ulazi u "blok naredbi 2"? Samo kada se pojavi greska u "bloku naredbi 1" ili uvek prilikom izvrsavanja koda?
nm>
UVEK

- Kada program naidje na gresku u bloku naredbi 1 da li se odmah ide na finally ili se izvrsavaju i linije koda izmedju greske i finally-a.
nm>
DA

- Da li se konstrukcija try...finally koristi samo kod datoteka, odnosno kod procesuiranja fajlova ili ima i druge primene. Tjs, npr. da li se ovakvom konstrukcijom moze ispitivati korektnost matematicke funkcije ili se tada iskljucivo ide na try...except.
nm>
try..finally koristis uvek kada zelis

- Sta se desava sa kodom ako se pojavi greska u bloku naredbi 2?
nm>
U Naredbi 2 postavljas safecod, a ako se ipak pojavi greska onda ona podize poruku o gresci kao da se desila bez t..f konstrukcije.

- Da li se izvrsava finally u slucaju koriscenja komandi Exit ili Break?
nm> Ne

try...except sintaksa:

try
blok naredbi 1
except
on greska1 do blok 1
on greska2 do blok 2
....
else blok n
end;

- Da li se "blok naredbi 1" sastoji iz vise komandi ili se mora sastojati iskljucivo iz jedne komande u odnosu na koju se ispituje "izuzetak" (except)?
nm>
Mozes koristiti blok naredbi, metoda ili ugnezditi jo sneku t..f i/ili t..e konstrukciju.

-Ukoliko se blok naredbi 1 moze sastojati iz vise komandi znaci li to da se except primenjuje samo na prvu komandu u bloku ili ne?
nm>
except se odnosi na bilo koji izuzetak koji je nastao u toku izvrsenja bloka a nije zasebno obradjen.
Marcha
-----------------------------------
Pretpostavka je majka zajeba.
 
Odgovor na temu

rankez
Ravna Gora

Član broj: 2850
Poruke: 96
194.106.174.*



Profil

icon Re: Povezivanje acces tabele preko ConnectionString-a?09.05.2006. u 11:44 - pre 218 meseci
To je to, Hvala.
 
Odgovor na temu

bondja

Član broj: 10286
Poruke: 167
*.adsl.sezampro.yu.



+3 Profil

icon Re: Povezivanje acces tabele preko ConnectionString-a?10.05.2006. u 07:43 - pre 218 meseci
@marcha

- Da li se izvrsava finally u slucaju koriscenja komandi Exit ili Break?
nm> Ne

Pa rekao bih da se uvek izvrsava finally deo, dakle DA, FINALLY DEO SE UVEK IZVRSAVA , bez obzira na Exit, break itd..... Probajte sledeci kod:

Code:

procedure Work;
const
  a: array[1..4] of integer = (3, 4, 0, 6);
var
  i: integer;
  k: integer;
begin
  k := 10;

  for i:=1 to 4 do
  begin
    TRY
      try
        if i = 2 then Exit; // <-- ovde bi trebalo da izadje, kompletno, ali ipak izvrsava finally deo :)

        showmessage( Format( 'res: %d', [k div a[i]]));
      except
        on E: Exception do
          Showmessage( 'rb: '+ IntToStr(i) + #13 + E.classname + #13 + e.message)
      end;
    FINALLY
        Showmessage(IntToStr(i) + ' OVO CE UVEK, ALI UVEK DA SE IZVRSI!!!');
    END;
  end;
end;


[Ovu poruku je menjao bondja dana 10.05.2006. u 08:43 GMT+1]
 
Odgovor na temu

marcha
Nikola Marcic
Beograd/Leskovac

Član broj: 6454
Poruke: 108
*.232.eunet.yu.

ICQ: 156892888


+1 Profil

icon Re: Povezivanje acces tabele preko ConnectionString-a?11.05.2006. u 09:04 - pre 218 meseci
Da, izvrsava se bas uvek... sta mi bi da kazem ne :)
Marcha
-----------------------------------
Pretpostavka je majka zajeba.
 
Odgovor na temu

rankez
Ravna Gora

Član broj: 2850
Poruke: 96
194.106.174.*



Profil

icon Re: Povezivanje acces tabele preko ConnectionString-a?29.05.2006. u 10:41 - pre 217 meseci
Code:

procedure TUnosClan.DugmeUnosClick(Sender: TObject);
begin
   with TableClan do
   begin
      try
         Open;
         Insert;
         FieldByName('broj').AsInteger:=strtoint(EditBroj.text);
         ....
         Post;
      exept
         on EConvertError do showmessage('Pogresan unos');
         ....
         else showmessage('Poruka o gresci...');
      end;
    end;
end;


Kada u EditBroj unesem vrednost koja nije integer program puca. Sta ne valja?
 
Odgovor na temu

priki

Član broj: 24732
Poruke: 700
*.yu
Via: [es] mailing liste

ICQ: 174153511


+26 Profil

icon Re: Povezivanje acces tabele preko ConnectionString-a?29.05.2006. u 13:57 - pre 217 meseci
pa naravno da puca.
kontrolisi unose, znaci da korisnik ne moze uneti nista
osim brojeva (integera ili currency (ako imas decimala))
u tabeli imas polje koje nece primiti nista osim integera

a druga stvar, taj OnCovert error ti nece raditi jer imas
database engine koji "podize" greske na sistemu a taj Onconverterror
ne spada u taj engine


> Kada u EditBroj unesem vrednost koja nije integer program puca. Sta ne valja?
 
Odgovor na temu

zzrnic

Član broj: 70933
Poruke: 10
*.198.eunet.yu.



Profil

icon Re: Povezivanje acces tabele preko ConnectionString-a?30.05.2006. u 12:32 - pre 217 meseci
Marcha predji na [email protected]
BDS 2006
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Povezivanje acces tabele preko ConnectionString-a?

[ Pregleda: 3214 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

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