Witam, napisałem aplikację która za pomocą komponentów ADO w TURBO C++ dokonuje aktualizacji 3 danych w bazie MSSQL, lecz czasami występuję u mnie problem gdyż program przestaje działać debuger pokazuje wyjątek EOLEEXCEPTION a dokłądniej:
First chance exception at $7C812AFB. Exception class EOleException with message '[DBNETLIB][ConnectionOpen (Connect()).]Serwer SQL nie istnieje lub odmówiono do niego dostępu'. Process RS232_YSI.exe (1104)
Nie mogę obsłużyć tego wyjątku - w moim kodzie wyłapuję jak widać wszystkie wyjątki jakie występują a program dalej się sypie,
zamieszczam kod który jest odpowiedzialny za połączenie z bazą i wpisywanie do nich danych, dane są wpisywane co 5 sekund, proszę o pomoc. Z Góry dziękuję.
try
{
CoInitialize(NULL);
try
{
if(!Form1->ADOConnection1->Connected)
Form1->ADOConnection1->Open();
Form1->ADOCommand1->CommandText="update pomiary set pomiar =" +(String)RoundTo(pomiar1,-2)+ "where test='pomiar'";
try
{
if(Form1->ADOConnection1->Connected)
try
{
if(!Form1->ADOCommand1->Execute())
Form1->Label3->Caption="Błąd bazy";
}
catch(...)
{
Form1->Label3->Caption="Błąd bazy";
}
}
catch(...)
{
Form1->Label3->Caption="Błąd bazy";
}
Form1->ADOCommand1->CommandText="update pomiary set pomiar2 =" +(String)RoundTo(pomiar2,-2)+ "where test='pomiar'";
try
{
if(Form1->ADOConnection1->Connected)
try
{
if(!Form1->ADOCommand1->Execute())
Form1->Label3->Caption="Błąd bazy";
}
catch(...)
{
Form1->Label3->Caption="Błąd bazy";
}
}
catch(...)
{
Form1->Label3->Caption="Błąd bazy";
}
Form1->ADOCommand1->CommandText="update pomiary set pomiar3 =" +(String)RoundTo(pomiar3,-2)+ "where test='pomiar'";
try
{
if(Form1->ADOConnection1->Connected)
try
{
if(!Form1->ADOCommand1->Execute())
Form1->Label3->Caption="Błąd bazy";
}
catch(...)
{
Form1->Label3->Caption="Błąd bazy";
}
}
catch(...)
{
Form1->Label3->Caption="Błąd bazy";
}
try
{
Form1->ADOConnection1->Close();
}
catch(...)
{
Form1->Label3->Caption="Błąd bazy";
}
}
catch(...)
{
Form1->Label3->Caption="Błąd bazy";
}
}
catch(EOleException&)
{
Form1->Label3->Caption="Problem z połączeniem MSSQL";
}
catch(...)
{
Form1->Label3->Caption="Problem z połączeniem MSSQL";
}
CoUninitialize();