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

Kako da proverim das li je konekcija ka bazi uspesna?

[es] :: Pascal / Delphi / Kylix :: Kako da proverim das li je konekcija ka bazi uspesna?

[ Pregleda: 2345 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mr.zhile
Ivan ZHILE
C# developer

Član broj: 185721
Poruke: 249
93.86.102.*



+2 Profil

icon Kako da proverim das li je konekcija ka bazi uspesna?21.07.2008. u 15:37 - pre 190 meseci
Pravim neku"malo komplikovaniju"aplikaciju..U sebi ima datamodull i par formi.Potrebno je kada se startuje aplikacija da ukoliko se ne pronadje baza na zeljenoj lokaciji,pojavi se poruka sa greskom(uhvati izuzetak),a potom se otvara opendialog iz kog se bira baza..
Neznam kako da uhvatim izuzetak,receno mi je da koristim handle u formactive...
ako moze neka pomoc ,SVaki dobronameran savet prihvatam..
Code:

procedure TFormMain.FormActivate(Sender: TObject);
begin
if not DataModuleMain.conn then
begin
ShowMessage('Greska');
dm:=TDataModuleMain.Create(Self);
Dm.OpenDialog1.Execute;
Dm.ini.WriteString('baza','put',DataModuleMain.OpenDialog1.FileName);
Dm.baza:=DataModuleMain.ini.ReadString('baza','put','');
DM.DataModuleCreate(Sender);
end;
end;


Code:
 
ini:=TIniFile.Create(ChangeFileExt(ExtractFilePath(Application.ExeName),'ini'));
  ini.WriteString('baza','putanja','E:\DATEBASE\EMPLOYEE.GDB');

    SQLConnection1.LoginPrompt := false;
  Sqlconnection1.TableScope := [tsTable];
   SDSKontrol.Connection.LoginPrompt := false;
    SDSKontrol.Connection.TableScope := [tsTable];
    SimpleDataSet1.Connection.LoginPrompt := false;
    SimpleDataSet1.Connection.TableScope := [tsTable];
    baza:=ini.ReadString('baza','putanja','');
  try
  begin
   SqlConnection1.Params.Values['database'] := baza;
   SQLConnection1.Open;
   SimpleDataSet1.Connection.Params.Values['database']:=baza;
   SimpleDataSet1.Connection.Open;
   SDSKontrol.Connection.Params.Values['database']:=baza;
   SDSKontrol.Connection.Open;
   conn:=True;
  ShowMessage('Konekcija ka bazi '+ baza +' je uspesna');
  end;
  except
  
   end;

Ne kontam rad sa Hanblom,gde bi on trebao da stoji u kodu,i kako da se pozove...
Don't worry be happy
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Kako da proverim das li je konekcija ka bazi uspesna?21.07.2008. u 16:01 - pre 190 meseci
> Potrebno je kada se startuje aplikacija da ukoliko se ne pronadje baza na zeljenoj lokaciji,pojavi se poruka sa greskom(uhvati izuzetak),a
> potom se otvara opendialog iz kog se bira baza..

Mislim da je ovo višak, aplikacija sa bazom bez baze nema smisla, zašto baza ne bi postojala, odaberi jedan dir gde ćeš je smestiti i nemoj olakšavati korisniku da je šetaju. Dovoljan je jedan ini fajl iz koga će se preuzeti putanja prilikom startovanja programa.

> ne znam kako da uhvatim izuzetak,receno mi je da koristim handle u formactive...

Pogledaj u helpu exception handling.

> if not DataModuleMain.conn then
> begin
> dm:=TDataModuleMain.Create(Self);

Ovo je čudan deo, pretpostavljam da ti je DataModuleMain globalna DataModule promenljiva koja je verovatno automatski kreirana, zašto onda imaš kreiranje novog DataModula? Ponekad je potrebno imati više DM u programu ali ne verujem da je ovo slučaj.

> Dm.OpenDialog1.Execute;

Open dijalog se koristi ovako:
if OpenDialog1.Execute then
filename := OpenDialog1.FileName;

> DM.DataModuleCreate(Sender);

Ovo je još jedan čudan red, verovatno i greška.


> ini:=TIniFile.Create(ChangeFileExt(ExtractFilePath(Application.ExeName),'ini'));
> ini.WriteString('baza','putanja','E:\DATEBASE\EMPLOYEE.GDB');

Ovako svaki put resetuješ putanju do baze, ako je ručno upisana biće vraćena na default vrednost. Upis default vrednosti možeš staviti ako vrednost ne postoji (ja lično ne bih, parametri baze se čuvaju u ini fajlu ako se neko ručno igra sa njim, snosiće posledice).

 
Odgovor na temu

mr.zhile
Ivan ZHILE
C# developer

Član broj: 185721
Poruke: 249
93.86.47.*



+2 Profil

icon Re: Kako da proverim das li je konekcija ka bazi uspesna?21.07.2008. u 17:39 - pre 190 meseci
Open dijalog se koristi ovako:
if OpenDialog1.Execute then
filename := OpenDialog1.FileName;

ako je otvoren,a kako da se otvori?
Ok je to staviti bazu u jedan dir ali sam hteo da probam kako bi moja ideja mogla da se sprovede u delo?
Da se uvek moze otvoriti baza, takodje u programu je i opcija da se baza moze snimiti u neki drugi dir(ali to sam uspesno obavio)
NEma u helpu skoro nista oko hanbla exception a ne znam kako da odraadim ovo?
Upravo gledam help i nekontam kako bi se primenulo za moj konkretan slucaj?
Aj mi malo konkretnije pomozite?

[Ovu poruku je menjao mr.zhile dana 21.07.2008. u 19:01 GMT+1]
Don't worry be happy
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Kako da proverim das li je konekcija ka bazi uspesna?21.07.2008. u 18:34 - pre 190 meseci
> ako je otvoren,a kako da se otvori?

Kako šta da se otvori?

> NEma u helpu skoro nista oko hanbla exception a ne znam kako da odraadim ovo?

Pričam za D7 help (slično je i u novom help sistemu), otkucaš pojam exception handling, klikneš na overview i potom TopicGroup i dobićeš materijala za pola sata čitanja (redom pratiš linkove), takođe u helpu pogledaj sve drugo što se

Što se tvog problema tiče, želiš da proveriš da li baza postoji, pokušaj konektovanja na bazu i handlovanje greške ne znam da li će ti reći da li baza fizički postoji ili ne (verovatno zavisi i od baze), probaj pa ako dobiješ specifičnu grešku onda može i tako. Druga varijanta je da proveriš da li fajl baze fizički postoji, recimo sa FileExists.
 
Odgovor na temu

mr.zhile
Ivan ZHILE
C# developer

Član broj: 185721
Poruke: 249
93.86.16.*



+2 Profil

icon Re: Kako da proverim das li je konekcija ka bazi uspesna?21.07.2008. u 19:25 - pre 190 meseci
Mislio sam na OpenDialog.
Ja koristim Delphi 7.
To hablovanje greske sam hteo da probam,ali ne znam kako? Jel bi mogla mala pomoc u vidu nekog koda kako se to radi sa 2 forme,datamodulom i formom..isl..
Don't worry be happy
 
Odgovor na temu

mr.zhile
Ivan ZHILE
C# developer

Član broj: 185721
Poruke: 249
93.86.16.*



+2 Profil

icon Re: Kako da proverim das li je konekcija ka bazi uspesna?21.07.2008. u 19:34 - pre 190 meseci
Da li ima mozda neki link na netu sa primerima hamblovanja?
Ako moze,pa cu valjda nesto skontati?
Nisam nasao nikakav primer u Helpu,@savkic ako znas da ima nessto molim te budi ljubazan pa postavi?
Don't worry be happy
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
93.86.85.*



Profil

icon Re: Kako da proverim das li je konekcija ka bazi uspesna?22.07.2008. u 07:17 - pre 190 meseci
Citat:
'E:\DATEBASE\EMPLOYEE.GDB'

Ako radiš sa Firebird - om, koristi ini fajlove, ima tema o tome od skora, definiši alias u aliases.conf, u instalacionom folderu samog servera. I ako menjaš lokaciju baze, samo izmeniš u tom fajlu, na jednom mestu, ostali računari će raditi kao da nisi ništa uradio.

Što se tiče hvatanja izuzetaka, možeš koristi blok:
Code:

...
try

except

end;
... 


Ili pustiti da exception dodje do Application exception handler-a (Application.OnException). Ima u help - u, a ima i na forumu tema o tome, te google.
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Kako da proverim das li je konekcija ka bazi uspesna?

[ Pregleda: 2345 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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