Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Obrada izuzetka prilikom neuspjesne konekcije na bazu

  • 3 odgovora
  • 2.775 pregleda

Najnovija ↓

Obrada izuzetka prilikom neuspjesne konekcije na bazu 21.05.2014. u 04:32 · pre 151 mesec #1
Kako da uradim obradu izuzetka prilikom neuspjesne konekcije na bazu, prilikom startanja aplikacije.

Probao sam

begin
Connection1.Connected:=true;
try
Logiranje;
finally
showmessage ('Potrebna vam je veza sa internetom');
end;
Re: Obrada izuzetka prilikom neuspjesne konekcije na bazu 21.05.2014. u 07:11 · pre 151 mesec #2
Code:
 try
    ADOConnection1.Connected := True;
    except
    on e: EADOError do
    begin
      MessageDlg('Greška pri konektovanju.', mtError,
                  [mbOK], 0);
      Exit;
    end;
  end;
Re: Obrada izuzetka prilikom neuspjesne konekcije na bazu 21.05.2014. u 12:33 · pre 151 mesec
izmenjeno 1 put, poslednji put XGhost 21.05.2014. u 12:43
  1. XGhost21.05.2014. u 12:43zapis iz teksta poruke
#3
Ne moze tako, ne moze se niti kompajlirati program
niti pokrenuti iako je connection false i tek kad se program podigne klikom na dugme se uspostavi

komponenta je UniDac
Uniconnection
Re: Obrada izuzetka prilikom neuspjesne konekcije na bazu 21.05.2014. u 13:24 · pre 151 mesec #4

Za hvatanje izuzetaka na UniDac koristi EUniError, dole imaš jedan moj primer povezivanja na više baza podataka plus na lokalne.

Code:


procedure TfrmMain.PoveziNaBazu;
begin
  with dm do
  begin
  try
    frmMain.Update;
    Screen.Cursor := crHourGlass;

    NapredakPripreme.GaugeMax := 8;
    NapredakPripreme.Caption := 'Povezivanje na ' + Konekcija.ServerBaze;
    NapredakPripreme.ButtonCancel := False;
    NapredakPripreme.Open(PanelNapredak);


     ConnMsSql.Server := Konekcija.ServerBaze;
     ConnMsSql.Username:= Konekcija.User_Name;
     ConnMsSql.Password:= Konekcija.Pass;
     ConnMsSql.Connect;
     NapredakPripreme.GetGauge.StepIt;

     PgConn.Server := Konekcija.IP_Pg;
     NapredakPripreme.Caption := 'Povezivanje na ' + Konekcija.IP_Pg+'-backoffice...';
     NapredakPripreme.GetLabel.Update;
     PgConn.Connect;

     NapredakPripreme.GetGauge.StepIt;
     NapredakPripreme.Caption := 'Preuzimanje podataka o prodavnicama...';
     NapredakPripreme.GetLabel.Update;
     ProdavniceQP.Open;

     NapredakPripreme.GetGauge.StepIt;
     NapredakPripreme.Caption := 'Preuzimanje podataka o barkodovima...';
     NapredakPripreme.GetLabel.Update;
     ASWQP.Open;

     NapredakPripreme.GetGauge.StepIt;
     NapredakPripreme.Caption := 'Preuzimanje podataka o artiklima...';
     NapredakPripreme.GetLabel.Update;
     ASWQ_B2P.Open;

     NapredakPripreme.GetGauge.StepIt;
     dbfArtikal.Active := True;
     NapredakPripreme.GetGauge.StepIt;
     dbfBCODE.Active := True;
     NapredakPripreme.GetGauge.StepIt;
     dbfSKLROB.Active := True;
     NapredakPripreme.GetGauge.StepIt;

     if PgConn.Connected then
       UpdateLog('Uspešno povezan na: ' + dm.PgConn.Server);

     DatotekaQ.SQL.Clear;
     DatotekaQ.SQL.Add('SELECT [Naziv],[Putanja],[Operacija],[Lokacija],[Prefiks], [PrijaviGresku] FROM [Datoteka] order by ID_Datoteka');
     DatotekaQ.Open;
     DatotekaQ.First;

  except
    on E:EUniError do
    begin
      MessageDlg('Nema konekcije ka bazi podataka!' + sLineBreak +
                      'Pozovite IT sluzbu.', mtError, [mbOK], 0);
      UpdateLog('Nema konekcije ka bazi podataka!', 'Nema konekcije ka bazi podataka! ' + E.Message);
      UgasiProgram;
    end;
    on EL: Exception do
    begin
      MessageDlg('Nema konekcije ka lokalnoj bazi podataka!' + sLineBreak +
                      'Pozovite IT sluzbu.', mtError, [mbOK], 0);
      UpdateLog('Nema konekcije sa DBF-ovima!', 'Nema konekcije sa DBF-ovima! ' + EL.Message);
      UgasiProgram;
    end;
  end;
  NapredakPripreme.Close;
  end;
end;

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme