Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:22:04

0001 // $Id: ODBCCallableStatement.h,v 1.1.1.1 2004/02/18 20:58:02 dave Exp $
0002 
0003 #ifndef RDBC_ODBCCallableStatement_h
0004 #define RDBC_ODBCCallableStatement_h
0005 
0006 #ifndef RDBC_TSQLCallableStatement_h
0007 #include <RDBC/TSQLCallableStatement.h>
0008 #endif
0009 
0010 //
0011 // A prepared statement suited for stored procedure calls
0012 //
0013 
0014 ////////////////////////////////////////////////////////////////////
0015 class ODBCCallableStatement: public TSQLCallableStatement
0016 {
0017 friend class ODBCConnection;
0018 
0019 protected:
0020   ODBCCallableStatement( TSQLConnection* con,void* imp=0 );                
0021 
0022 public:
0023    virtual ~ODBCCallableStatement();
0024    
0025    void RegisterOutParameter( Int_t parameterIndex,Int_t sqlType );
0026    void RegisterOutParameter( Int_t parameterIndex,Int_t sqlType,Int_t scale );   
0027    Bool_t   WasNull();
0028    TString  GetString(Int_t parameterIndex);
0029    Bool_t   GetBoolean(Int_t parameterIndex);
0030    Char_t   GetByte(Int_t parameterIndex);
0031    Short_t  GetShort(Int_t parameterIndex);
0032    Int_t    GetInt(Int_t parameterIndex);
0033    Long_t   GetLong(Int_t parameterIndex);
0034    Float_t  GetFloat(Int_t parameterIndex);
0035    Double_t GetDouble(Int_t parameterIndex);   
0036    TArrayC  GetBytes(Int_t parameterIndex);
0037    TSQLDate GetDate(Int_t parameterIndex);
0038    TSQLTime GetTime(Int_t parameterIndex);
0039    TSQLTimestamp GetTimestamp(Int_t parameterIndex);
0040 
0041    // TSQLPreparedStatement methods
0042    void SetNull( Int_t parameterIndex, Int_t sqlType );
0043    void SetBoolean( Int_t parameterIndex,Bool_t x );
0044    void SetByte( Int_t parameterIndex,Char_t x );
0045    void SetShort( Int_t parameterIndex,Short_t x );
0046    void SetInt( Int_t parameterIndex,Int_t x );
0047    void SetLong(Int_t parameterIndex,Long_t x);
0048    void SetFloat(Int_t parameterIndex,Float_t x);
0049    void SetDouble( Int_t parameterIndex,Double_t x);
0050    void SetString(Int_t parameterIndex, const TString& x);
0051    void SetBytes(Int_t parameterIndex,const TArrayC& x);
0052    void SetDate(Int_t parameterIndex,const TSQLDate& x);
0053    void SetTime(Int_t parameterIndex,const TSQLTime& x);
0054    void SetTimestamp( Int_t parameterIndex,const TSQLTimestamp& x );
0055    void SetAsciiStream(Int_t parameterIndex,TBuffer* x,Int_t length);
0056    void SetBinaryStream( Int_t parameterIndex,TBuffer* x,Int_t length );
0057    void SetObject( Int_t parameterIndex,TObject* x );
0058    void ClearParameters();
0059 
0060    // TSQLStatement methods
0061    using TSQLStatement::Execute;  // unhide (TMethod*, TObjArray*, int*)
0062    virtual Bool_t Execute( const TString& sql="" );
0063    virtual TSQLResultSet* ExecuteQuery( const TString& sql="" );
0064    virtual Int_t  ExecuteUpdate( const TString& sql="" );
0065    TSQLResultSet* GetResultSet();
0066    Bool_t GetMoreResults();
0067    void   Close();
0068    void   Cancel();
0069    Int_t  GetMaxFieldSize();
0070    void   SetMaxFieldSize( Int_t max );
0071    Int_t  GetMaxRows();
0072    void   SetMaxRows( Int_t max );
0073    Bool_t GetEscapeProcessing();
0074    void   SetEscapeProcessing( Bool_t enable = kTRUE );
0075    Int_t  GetQueryTimeout();
0076    void   SetQueryTimeout( Int_t seconds );  
0077    Int_t  GetUpdateCount();
0078    void   SetCursorName( const TString& name );
0079    void   AddBatch( const TString& sql );
0080    void   ClearBatch();
0081    Int_t* ExecuteBatch();
0082    Int_t  GetFetchDirection();
0083    void   SetFetchDirection( Int_t direction );    
0084    Int_t  GetFetchSize(); 
0085    void   SetFetchSize(Int_t rows);
0086    Int_t  GetResultSetConcurrency(); 
0087    Int_t  GetResultSetType();
0088 
0089 ClassDef(ODBCCallableStatement,0)//A prepared statement suited for stored procedure calls
0090 };
0091 
0092 #endif // RDBC_ODBCCallableStatement_h