home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / Vcl / ibsql.hpp < prev    next >
C/C++ Source or Header  |  2000-02-01  |  16KB  |  434 lines

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1999 by Borland International
  3. // All rights reserved
  4.  
  5. // (DO NOT EDIT: machine generated header) 'IBSQL.pas' rev: 5.00
  6.  
  7. #ifndef IBSQLHPP
  8. #define IBSQLHPP
  9.  
  10. #pragma delphiheader begin
  11. #pragma option push -w-
  12. #pragma option push -Vx
  13. #include <IBUtils.hpp>    // Pascal unit
  14. #include <IBDatabase.hpp>    // Pascal unit
  15. #include <IB.hpp>    // Pascal unit
  16. #include <Db.hpp>    // Pascal unit
  17. #include <IBExternals.hpp>    // Pascal unit
  18. #include <IBErrorCodes.hpp>    // Pascal unit
  19. #include <IBHeader.hpp>    // Pascal unit
  20. #include <Controls.hpp>    // Pascal unit
  21. #include <Forms.hpp>    // Pascal unit
  22. #include <Classes.hpp>    // Pascal unit
  23. #include <SysUtils.hpp>    // Pascal unit
  24. #include <Windows.hpp>    // Pascal unit
  25. #include <SysInit.hpp>    // Pascal unit
  26. #include <System.hpp>    // Pascal unit
  27.  
  28. //-- user supplied -----------------------------------------------------------
  29.  
  30. namespace Ibsql
  31. {
  32. //-- type declarations -------------------------------------------------------
  33. class DELPHICLASS TIBXSQLVAR;
  34. class DELPHICLASS TIBSQL;
  35. class DELPHICLASS TIBXSQLDA;
  36. class PASCALIMPLEMENTATION TIBXSQLVAR : public System::TObject 
  37. {
  38.     typedef System::TObject inherited;
  39.     
  40. private:
  41.     TIBSQL* FSQL;
  42.     int FIndex;
  43.     bool FModified;
  44.     AnsiString FName;
  45.     Ibheader::TXSQLVAR *FXSQLVAR;
  46.     double __fastcall AdjustScale(__int64 Value, int Scale);
  47.     System::Currency __fastcall AdjustScaleToCurrency(__int64 Value, int Scale);
  48.     System::Currency __fastcall GetAsCurrency(void);
  49.     __int64 __fastcall GetAsInt64(void);
  50.     System::TDateTime __fastcall GetAsDateTime(void);
  51.     double __fastcall GetAsDouble(void);
  52.     float __fastcall GetAsFloat(void);
  53.     int __fastcall GetAsLong(void);
  54.     void * __fastcall GetAsPointer(void);
  55.     Ibheader::TGDS_QUAD __fastcall GetAsQuad();
  56.     short __fastcall GetAsShort(void);
  57.     AnsiString __fastcall GetAsString();
  58.     Variant __fastcall GetAsVariant();
  59.     Ibheader::PXSQLVAR __fastcall GetAsXSQLVAR(void);
  60.     bool __fastcall GetIsNull(void);
  61.     bool __fastcall GetIsNullable(void);
  62.     int __fastcall GetSize(void);
  63.     int __fastcall GetSQLType(void);
  64.     void __fastcall SetAsCurrency(System::Currency Value);
  65.     void __fastcall SetAsInt64(__int64 Value);
  66.     void __fastcall SetAsDate(System::TDateTime Value);
  67.     void __fastcall SetAsTime(System::TDateTime Value);
  68.     void __fastcall SetAsDateTime(System::TDateTime Value);
  69.     void __fastcall SetAsDouble(double Value);
  70.     void __fastcall SetAsFloat(float Value);
  71.     void __fastcall SetAsLong(int Value);
  72.     void __fastcall SetAsPointer(void * Value);
  73.     void __fastcall SetAsQuad(const Ibheader::TGDS_QUAD &Value);
  74.     void __fastcall SetAsShort(short Value);
  75.     void __fastcall SetAsString(AnsiString Value);
  76.     void __fastcall SetAsVariant(const Variant &Value);
  77.     void __fastcall SetAsXSQLVAR(Ibheader::PXSQLVAR Value);
  78.     void __fastcall SetIsNull(bool Value);
  79.     void __fastcall SetIsNullable(bool Value);
  80.     
  81. public:
  82.     __fastcall TIBXSQLVAR(TIBSQL* Query);
  83.     void __fastcall Assign(TIBXSQLVAR* Source);
  84.     void __fastcall LoadFromFile(const AnsiString FileName);
  85.     void __fastcall LoadFromStream(Classes::TStream* Stream);
  86.     void __fastcall SaveToFile(const AnsiString FileName);
  87.     void __fastcall SaveToStream(Classes::TStream* Stream);
  88.     __property System::TDateTime AsDate = {read=GetAsDateTime, write=SetAsDate};
  89.     __property System::TDateTime AsTime = {read=GetAsDateTime, write=SetAsTime};
  90.     __property System::TDateTime AsDateTime = {read=GetAsDateTime, write=SetAsDateTime};
  91.     __property double AsDouble = {read=GetAsDouble, write=SetAsDouble};
  92.     __property float AsFloat = {read=GetAsFloat, write=SetAsFloat};
  93.     __property System::Currency AsCurrency = {read=GetAsCurrency, write=SetAsCurrency};
  94.     __property __int64 AsInt64 = {read=GetAsInt64, write=SetAsInt64};
  95.     __property int AsInteger = {read=GetAsLong, write=SetAsLong, nodefault};
  96.     __property int AsLong = {read=GetAsLong, write=SetAsLong, nodefault};
  97.     __property void * AsPointer = {read=GetAsPointer, write=SetAsPointer};
  98.     __property Ibheader::TGDS_QUAD AsQuad = {read=GetAsQuad, write=SetAsQuad};
  99.     __property short AsShort = {read=GetAsShort, write=SetAsShort, nodefault};
  100.     __property AnsiString AsString = {read=GetAsString, write=SetAsString};
  101.     __property Variant AsVariant = {read=GetAsVariant, write=SetAsVariant};
  102.     __property Ibheader::PXSQLVAR AsXSQLVAR = {read=GetAsXSQLVAR, write=SetAsXSQLVAR};
  103.     __property Ibheader::PXSQLVAR Data = {read=FXSQLVAR, write=FXSQLVAR};
  104.     __property bool IsNull = {read=GetIsNull, write=SetIsNull, nodefault};
  105.     __property bool IsNullable = {read=GetIsNullable, write=SetIsNullable, nodefault};
  106.     __property int Index = {read=FIndex, nodefault};
  107.     __property bool Modified = {read=FModified, write=FModified, nodefault};
  108.     __property AnsiString Name = {read=FName};
  109.     __property int Size = {read=GetSize, nodefault};
  110.     __property int SQLType = {read=GetSQLType, nodefault};
  111.     __property Variant Value = {read=GetAsVariant, write=SetAsVariant};
  112. public:
  113.     #pragma option push -w-inl
  114.     /* TObject.Destroy */ inline __fastcall virtual ~TIBXSQLVAR(void) { }
  115.     #pragma option pop
  116.     
  117. };
  118.  
  119.  
  120. typedef TIBXSQLVAR* TIBXSQLVARArray[1];
  121.  
  122. typedef TIBXSQLVAR* *PIBXSQLVARArray;
  123.  
  124. class PASCALIMPLEMENTATION TIBXSQLDA : public System::TObject 
  125. {
  126.     typedef System::TObject inherited;
  127.     
  128. protected:
  129.     TIBSQL* FSQL;
  130.     int FCount;
  131.     Classes::TStrings* FNames;
  132.     int FSize;
  133.     Ibheader::TXSQLDA *FXSQLDA;
  134.     TIBXSQLVAR* *FXSQLVARs;
  135.     AnsiString FUniqueRelationName;
  136.     bool __fastcall GetModified(void);
  137.     AnsiString __fastcall GetNames();
  138.     int __fastcall GetRecordSize(void);
  139.     Ibheader::PXSQLDA __fastcall GetXSQLDA(void);
  140.     TIBXSQLVAR* __fastcall GetXSQLVAR(int Idx);
  141.     TIBXSQLVAR* __fastcall GetXSQLVARByName(AnsiString Idx);
  142.     void __fastcall Initialize(void);
  143.     void __fastcall SetCount(int Value);
  144.     
  145. public:
  146.     __fastcall TIBXSQLDA(TIBSQL* Query);
  147.     __fastcall virtual ~TIBXSQLDA(void);
  148.     void __fastcall AddName(AnsiString FieldName, int Idx);
  149.     TIBXSQLVAR* __fastcall ByName(AnsiString Idx);
  150.     __property Ibheader::PXSQLDA AsXSQLDA = {read=GetXSQLDA};
  151.     __property int Count = {read=FCount, write=SetCount, nodefault};
  152.     __property bool Modified = {read=GetModified, nodefault};
  153.     __property AnsiString Names = {read=GetNames};
  154.     __property int RecordSize = {read=GetRecordSize, nodefault};
  155.     __property TIBXSQLVAR* Vars[int Idx] = {read=GetXSQLVAR/*, default*/};
  156.     __property AnsiString UniqueRelationName = {read=FUniqueRelationName};
  157. };
  158.  
  159.  
  160. #pragma option push -b-
  161. enum TIBSQLTypes { SQLUnknown, SQLSelect, SQLInsert, SQLUpdate, SQLDelete, SQLDDL, SQLGetSegment, SQLPutSegment, 
  162.     SQLExecProcedure, SQLStartTransaction, SQLCommit, SQLRollback, SQLSelectForUpdate, SQLSetGenerator 
  163.     };
  164. #pragma option pop
  165.  
  166. class DELPHICLASS TIBBatchInput;
  167. class DELPHICLASS TIBBatchOutput;
  168. class PASCALIMPLEMENTATION TIBSQL : public Classes::TComponent 
  169. {
  170.     typedef Classes::TComponent inherited;
  171.     
  172. private:
  173.     bool FIBLoaded;
  174.     
  175. protected:
  176.     Ibdatabase::TIBBase* FBase;
  177.     bool FBOF;
  178.     bool FEOF;
  179.     bool FGoToFirstRecordOnExecute;
  180.     bool FOpen;
  181.     bool FPrepared;
  182.     int FRecordCount;
  183.     AnsiString FCursor;
  184.     void * *FHandle;
  185.     Classes::TNotifyEvent FOnSQLChanging;
  186.     Classes::TStrings* FSQL;
  187.     bool FParamCheck;
  188.     Classes::TStrings* FProcessedSQL;
  189.     TIBXSQLDA* FSQLParams;
  190.     TIBXSQLDA* FSQLRecord;
  191.     TIBSQLTypes FSQLType;
  192.     bool FGenerateParamNames;
  193.     void __fastcall DoBeforeDatabaseDisconnect(System::TObject* Sender);
  194.     Ibdatabase::TIBDatabase* __fastcall GetDatabase(void);
  195.     Ibheader::PISC_DB_HANDLE __fastcall GetDBHandle(void);
  196.     bool __fastcall GetEOF(void);
  197.     TIBXSQLVAR* __fastcall GetFields(const int Idx);
  198.     int __fastcall GetFieldIndex(AnsiString FieldName);
  199.     AnsiString __fastcall GetPlan();
  200.     int __fastcall GetRecordCount(void);
  201.     int __fastcall GetRowsAffected(void);
  202.     TIBXSQLDA* __fastcall GetSQLParams(void);
  203.     Ibdatabase::TIBTransaction* __fastcall GetTransaction(void);
  204.     Ibheader::PISC_TR_HANDLE __fastcall GetTRHandle(void);
  205.     void __fastcall PreprocessSQL(void);
  206.     void __fastcall SetDatabase(Ibdatabase::TIBDatabase* Value);
  207.     void __fastcall SetSQL(Classes::TStrings* Value);
  208.     void __fastcall SetTransaction(Ibdatabase::TIBTransaction* Value);
  209.     void __fastcall SQLChanging(System::TObject* Sender);
  210.     void __fastcall BeforeTransactionEnd(System::TObject* Sender);
  211.     
  212. public:
  213.     __fastcall virtual TIBSQL(Classes::TComponent* AOwner);
  214.     __fastcall virtual ~TIBSQL(void);
  215.     void __fastcall BatchInput(TIBBatchInput* InputObject);
  216.     void __fastcall BatchOutput(TIBBatchOutput* OutputObject);
  217.     int __fastcall Call(int ErrCode, bool RaiseError);
  218.     void __fastcall CheckClosed(void);
  219.     void __fastcall CheckOpen(void);
  220.     void __fastcall CheckValidStatement(void);
  221.     void __fastcall Close(void);
  222.     TIBXSQLDA* __fastcall Current(void);
  223.     void __fastcall ExecQuery(void);
  224.     TIBXSQLVAR* __fastcall FieldByName(AnsiString FieldName);
  225.     void __fastcall FreeHandle(void);
  226.     TIBXSQLDA* __fastcall Next(void);
  227.     void __fastcall Prepare(void);
  228.     AnsiString __fastcall GetUniqueRelationName();
  229.     __property bool BOF = {read=FBOF, nodefault};
  230.     __property Ibheader::PISC_DB_HANDLE DBHandle = {read=GetDBHandle};
  231.     __property bool Eof = {read=GetEOF, nodefault};
  232.     __property TIBXSQLVAR* Fields[int Idx] = {read=GetFields};
  233.     __property int FieldIndex[AnsiString FieldName] = {read=GetFieldIndex};
  234.     __property bool Open = {read=FOpen, nodefault};
  235.     __property TIBXSQLDA* Params = {read=GetSQLParams};
  236.     __property AnsiString Plan = {read=GetPlan};
  237.     __property bool Prepared = {read=FPrepared, nodefault};
  238.     __property int RecordCount = {read=GetRecordCount, nodefault};
  239.     __property int RowsAffected = {read=GetRowsAffected, nodefault};
  240.     __property TIBSQLTypes SQLType = {read=FSQLType, nodefault};
  241.     __property Ibheader::PISC_TR_HANDLE TRHandle = {read=GetTRHandle};
  242.     __property Ibexternals::PVoid Handle = {read=FHandle};
  243.     __property bool GenerateParamNames = {read=FGenerateParamNames, write=FGenerateParamNames, nodefault
  244.         };
  245.     __property AnsiString UniqueRelationName = {read=GetUniqueRelationName};
  246.     
  247. __published:
  248.     __property Ibdatabase::TIBDatabase* Database = {read=GetDatabase, write=SetDatabase};
  249.     __property bool GoToFirstRecordOnExecute = {read=FGoToFirstRecordOnExecute, write=FGoToFirstRecordOnExecute
  250.         , default=1};
  251.     __property bool ParamCheck = {read=FParamCheck, write=FParamCheck, nodefault};
  252.     __property Classes::TStrings* SQL = {read=FSQL, write=SetSQL};
  253.     __property Ibdatabase::TIBTransaction* Transaction = {read=GetTransaction, write=SetTransaction};
  254.     __property Classes::TNotifyEvent OnSQLChanging = {read=FOnSQLChanging, write=FOnSQLChanging};
  255. };
  256.  
  257.  
  258.  
  259. class DELPHICLASS TIBBatch;
  260. class PASCALIMPLEMENTATION TIBBatch : public System::TObject 
  261. {
  262.     typedef System::TObject inherited;
  263.     
  264. protected:
  265.     AnsiString FFilename;
  266.     TIBXSQLDA* FColumns;
  267.     TIBXSQLDA* FParams;
  268.     
  269. public:
  270.     virtual void __fastcall ReadyFile(void) = 0 ;
  271.     __property TIBXSQLDA* Columns = {read=FColumns};
  272.     __property AnsiString Filename = {read=FFilename, write=FFilename};
  273.     __property TIBXSQLDA* Params = {read=FParams};
  274. public:
  275.     #pragma option push -w-inl
  276.     /* TObject.Create */ inline __fastcall TIBBatch(void) : System::TObject() { }
  277.     #pragma option pop
  278.     #pragma option push -w-inl
  279.     /* TObject.Destroy */ inline __fastcall virtual ~TIBBatch(void) { }
  280.     #pragma option pop
  281.     
  282. };
  283.  
  284.  
  285. class PASCALIMPLEMENTATION TIBBatchInput : public TIBBatch 
  286. {
  287.     typedef TIBBatch inherited;
  288.     
  289. public:
  290.     virtual bool __fastcall ReadParameters(void) = 0 ;
  291. public:
  292.     #pragma option push -w-inl
  293.     /* TObject.Create */ inline __fastcall TIBBatchInput(void) : TIBBatch() { }
  294.     #pragma option pop
  295.     #pragma option push -w-inl
  296.     /* TObject.Destroy */ inline __fastcall virtual ~TIBBatchInput(void) { }
  297.     #pragma option pop
  298.     
  299. };
  300.  
  301.  
  302. class PASCALIMPLEMENTATION TIBBatchOutput : public TIBBatch 
  303. {
  304.     typedef TIBBatch inherited;
  305.     
  306. public:
  307.     virtual bool __fastcall WriteColumns(void) = 0 ;
  308. public:
  309.     #pragma option push -w-inl
  310.     /* TObject.Create */ inline __fastcall TIBBatchOutput(void) : TIBBatch() { }
  311.     #pragma option pop
  312.     #pragma option push -w-inl
  313.     /* TObject.Destroy */ inline __fastcall virtual ~TIBBatchOutput(void) { }
  314.     #pragma option pop
  315.     
  316. };
  317.  
  318.  
  319. class DELPHICLASS TIBOutputDelimitedFile;
  320. class PASCALIMPLEMENTATION TIBOutputDelimitedFile : public TIBBatchOutput 
  321. {
  322.     typedef TIBBatchOutput inherited;
  323.     
  324. protected:
  325.     unsigned FHandle;
  326.     bool FOutputTitles;
  327.     AnsiString FColDelimiter;
  328.     AnsiString FRowDelimiter;
  329.     
  330. public:
  331.     __fastcall virtual ~TIBOutputDelimitedFile(void);
  332.     virtual void __fastcall ReadyFile(void);
  333.     virtual bool __fastcall WriteColumns(void);
  334.     __property AnsiString ColDelimiter = {read=FColDelimiter, write=FColDelimiter};
  335.     __property bool OutputTitles = {read=FOutputTitles, write=FOutputTitles, nodefault};
  336.     __property AnsiString RowDelimiter = {read=FRowDelimiter, write=FRowDelimiter};
  337. public:
  338.     #pragma option push -w-inl
  339.     /* TObject.Create */ inline __fastcall TIBOutputDelimitedFile(void) : TIBBatchOutput() { }
  340.     #pragma option pop
  341.     
  342. };
  343.  
  344.  
  345. class DELPHICLASS TIBInputDelimitedFile;
  346. class PASCALIMPLEMENTATION TIBInputDelimitedFile : public TIBBatchInput 
  347. {
  348.     typedef TIBBatchInput inherited;
  349.     
  350. protected:
  351.     AnsiString FColDelimiter;
  352.     AnsiString FRowDelimiter;
  353.     bool FEOF;
  354.     Classes::TFileStream* FFile;
  355.     char FLookAhead;
  356.     bool FReadBlanksAsNull;
  357.     bool FSkipTitles;
  358.     
  359. public:
  360.     __fastcall virtual ~TIBInputDelimitedFile(void);
  361.     int __fastcall GetColumn(AnsiString &Col);
  362.     virtual bool __fastcall ReadParameters(void);
  363.     virtual void __fastcall ReadyFile(void);
  364.     __property AnsiString ColDelimiter = {read=FColDelimiter, write=FColDelimiter};
  365.     __property bool ReadBlanksAsNull = {read=FReadBlanksAsNull, write=FReadBlanksAsNull, nodefault};
  366.     __property AnsiString RowDelimiter = {read=FRowDelimiter, write=FRowDelimiter};
  367.     __property bool SkipTitles = {read=FSkipTitles, write=FSkipTitles, nodefault};
  368. public:
  369.     #pragma option push -w-inl
  370.     /* TObject.Create */ inline __fastcall TIBInputDelimitedFile(void) : TIBBatchInput() { }
  371.     #pragma option pop
  372.     
  373. };
  374.  
  375.  
  376. class DELPHICLASS TIBOutputRawFile;
  377. class PASCALIMPLEMENTATION TIBOutputRawFile : public TIBBatchOutput 
  378. {
  379.     typedef TIBBatchOutput inherited;
  380.     
  381. protected:
  382.     unsigned FHandle;
  383.     
  384. public:
  385.     __fastcall virtual ~TIBOutputRawFile(void);
  386.     virtual void __fastcall ReadyFile(void);
  387.     virtual bool __fastcall WriteColumns(void);
  388. public:
  389.     #pragma option push -w-inl
  390.     /* TObject.Create */ inline __fastcall TIBOutputRawFile(void) : TIBBatchOutput() { }
  391.     #pragma option pop
  392.     
  393. };
  394.  
  395.  
  396. class DELPHICLASS TIBInputRawFile;
  397. class PASCALIMPLEMENTATION TIBInputRawFile : public TIBBatchInput 
  398. {
  399.     typedef TIBBatchInput inherited;
  400.     
  401. protected:
  402.     unsigned FHandle;
  403.     
  404. public:
  405.     __fastcall virtual ~TIBInputRawFile(void);
  406.     virtual bool __fastcall ReadParameters(void);
  407.     virtual void __fastcall ReadyFile(void);
  408. public:
  409.     #pragma option push -w-inl
  410.     /* TObject.Create */ inline __fastcall TIBInputRawFile(void) : TIBBatchInput() { }
  411.     #pragma option pop
  412.     
  413. };
  414.  
  415.  
  416. //-- var, const, procedure ---------------------------------------------------
  417. extern PACKAGE System::ResourceString _SEOFInComment;
  418. #define Ibsql_SEOFInComment System::LoadResourceString(&Ibsql::_SEOFInComment)
  419. extern PACKAGE System::ResourceString _SEOFInString;
  420. #define Ibsql_SEOFInString System::LoadResourceString(&Ibsql::_SEOFInString)
  421. extern PACKAGE System::ResourceString _SParamNameExpected;
  422. #define Ibsql_SParamNameExpected System::LoadResourceString(&Ibsql::_SParamNameExpected)
  423.  
  424. }    /* namespace Ibsql */
  425. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  426. using namespace Ibsql;
  427. #endif
  428. #pragma option pop    // -w-
  429. #pragma option pop    // -Vx
  430.  
  431. #pragma delphiheader end.
  432. //-- end unit ----------------------------------------------------------------
  433. #endif    // IBSQL
  434.