Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ODBCPreparedStatement.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file ODBCPreparedStatement.h
1 // $Id: ODBCPreparedStatement.h,v 1.2 2014/02/14 16:51:27 jinhuang Exp $
2 
3 #ifndef RDBC_ODBCPreparedStatement_h
4 #define RDBC_ODBCPreparedStatement_h
5 
6 #ifndef RDBC_TSQLPreparedStatement_h
8 #endif
9 
10 #ifndef __CINT__
11 #include <sstream>
12 #include <boost/smart_ptr/shared_ptr.hpp>
13 #include <vector>
14 #endif
15 
16 //
17 // An object that represents a precompiled SQL statement.
18 //
19 
22 {
23 friend class ODBCConnection;
24 
25 protected:
26  ODBCPreparedStatement( TSQLConnection* con, void* imp=0 );
27 
28 public:
29  virtual ~ODBCPreparedStatement();
30 
31  void SetNull( Int_t parameterIndex, Int_t sqlType );
32  void SetBoolean( Int_t parameterIndex,Bool_t x );
33  void SetByte( Int_t parameterIndex,Char_t x );
34  void SetShort( Int_t parameterIndex,Short_t x );
35  void SetInt( Int_t parameterIndex,Int_t x );
36  void SetLong(Int_t parameterIndex,Long_t x);
37  void SetFloat(Int_t parameterIndex,Float_t x);
38  void SetDouble( Int_t parameterIndex,Double_t x);
39  void SetString(Int_t parameterIndex, const TString& x);
40  void SetBytes(Int_t parameterIndex,const TArrayC& x);
41  void SetDate(Int_t parameterIndex,const TSQLDate& x);
42  void SetTime(Int_t parameterIndex,const TSQLTime& x);
43  void SetTimestamp( Int_t parameterIndex,const TSQLTimestamp& x );
44  void SetAsciiStream(Int_t parameterIndex,TBuffer* x,Int_t length);
45  void SetBinaryStream( Int_t parameterIndex,TBuffer* x,Int_t length );
46  void SetObject( Int_t parameterIndex,TObject* x );
47  void ClearParameters();
48 
49  using TSQLStatement::Execute; // unhide (TMethod*, TObjArray*, int*)
50  virtual Bool_t Execute( const TString& sql="" );
51  virtual TSQLResultSet* ExecuteQuery( const TString& sql="" );
52  virtual Int_t ExecuteUpdate( const TString& sql="" );
53 
54  // TSQLStatement methods
56  Bool_t GetMoreResults();
57  void Close();
58  void Cancel();
59  Int_t GetMaxFieldSize();
60  void SetMaxFieldSize( Int_t max );
61  Int_t GetMaxRows();
62  void SetMaxRows( Int_t max );
63  Bool_t GetEscapeProcessing();
64  void SetEscapeProcessing( Bool_t enable = kTRUE );
65  Int_t GetQueryTimeout();
66  void SetQueryTimeout( Int_t seconds );
67  Int_t GetUpdateCount();
68  void SetCursorName( const TString& name );
69  void AddBatch( const TString& sql );
70  void ClearBatch();
71  Int_t* ExecuteBatch();
72  Int_t GetFetchDirection();
73  void SetFetchDirection( Int_t direction );
74  Int_t GetFetchSize();
75  void SetFetchSize(Int_t rows);
76  Int_t GetResultSetConcurrency();
77  Int_t GetResultSetType();
78 
79 private:
80 #ifndef __CINT__
81  std::vector < boost::shared_ptr<std::istream> > _vec_str_buf;
82 #endif
83 
84 ClassDef(ODBCPreparedStatement,0)//represents a precompiled SQL statement
85 };
86 
87 #endif // RDBC_ODBCPreparedStatement_h