Witam,
wiem, że wiele wątków było na forum, ale niestety nie znalazłam odpowiedzi na moje pytanie.
Na forma wrzuciłam następujące komponenty do łączenia z bazą danych MySQL:
- ADOConnection
- ADOTable
- ADOQuery
Używam ODBC (ściągnięte ze strony mysql'a), sprawdziłam połączenie we właściwościach łącza danych i powiodło się, jednak kod zamieszczony poniżej zwraca następujące błędy (wskazują one na zawartość catch):
E2303 Type name expected
E2377 If statement missing )
Proszę o podpowiedź, co zrobiłam źle i jak to naprawić.
#include <vcl.h>
#include <stdlib.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
Tlogowanie *logowanie;
//---------------------------------------------------------------------------
__fastcall Tlogowanie::Tlogowanie(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall Tlogowanie::zaloguj_pClick(TObject *Sender)
{
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Text="SELECT imie_o, nazwisko_o, stanowisko_o, haslo_o FROM osoba WHERE imie_o = '"+imie_e->Text+"' AND haslo_o = '"+haslo_e->Text+"' AND activ_o=1";
try
{
ADOQuery1->Open();
String stanowisko = ADOQuery1->FieldByName("stanowisko_o")->AsString;
stanowisko = stanowisko.Trim();
if (stanowisko=="Administrator")
{
admin->Show();
}
else
ShowMessage("Podałeś nieprawidłowe dane lub nie masz uprawnień");
}
catch (Exception &E)
{
if ( !dynamic_cast<ENoResultSet*>(&E) )
throw;
}
}
Z góry dziękuję i pozdrawiam