//---------------------------------------------------------------------------
#ifndef UTabelaH
#define UTabelaH

#include <vcl.h>
#include <ADODB.hpp>

#include "URekord.h"

//---------------------------------------------------------------------------
class MTabela : public TObject
{
protected:
   Longint         IlRek;                                                       // ustawiane przez Get_Reccount();
   AnsiString      sql_txt;                                                     // do przechowywania treści zapytania
	TADOConnection *ADOConnection;                                               // przekazać wskaźnik do odpowiedniego z DataModule w UDM.pas


public:
   TADOQuery *LQ;                                                               // Local Query do wykonywania zapytań

   bool    Eof();                                                               // czy Eof() kursora
   void    First();                                                             // ustaw sie na 1 rekordzie kursora
   void    Next();                                                              // przejdź do nastepnego rekordu
   void    Close();                                                             // zamknij LQ (LocalQuery)
   Longint RecordCount();                                                       // ilość rekordów kursora

	// wykonaj zapytanie SQL typu Select - zwracające kursor
   bool Open();

   // wykonaj zapytanie SQL typu ExecSQL
   bool ExecSQL(bool WlaczycTransakcje = false);
   
   virtual bool DajWszystko() = 0;
   virtual void GetRec() = 0;                                                   // pobierz jeden wiersz tabeli do rekordu Rek
   virtual bool Insert(MRekord *rec) = 0;
   virtual bool Edit(MRekord *rec) = 0;
   virtual bool Delete(int Id) = 0;

   __fastcall  MTabela();
   virtual __fastcall ~MTabela();
};
//---------------------------------------------------------------------------
#endif

