1 /***********************************************************************/ 2 /* JDBConn.h : header file for the JDBC connection classes. */ 3 /***********************************************************************/ 4 #include "javaconn.h" 5 6 // JDBC connection to a data source 7 class TDBJDBC; 8 class JDBCCOL; 9 class JDBConn; 10 class TDBXJDC; 11 12 /***********************************************************************/ 13 /* JDBConn class. */ 14 /***********************************************************************/ 15 class JDBConn : public JAVAConn { 16 friend class TDBJDBC; 17 friend class TDBXJDC; 18 //friend PQRYRES GetColumnInfo(PGLOBAL, char*&, char *, int, PVBLK&); 19 private: 20 JDBConn(); // Standard (unused) constructor 21 22 public: 23 // Constructor 24 JDBConn(PGLOBAL g, PCSZ wrapper); 25 26 virtual void AddJars(PSTRG jpop, char sep); 27 PQRYRES AllocateResult(PGLOBAL g, PTDB tdbp); 28 29 // Attributes 30 public: GetQuoteChar(void)31 char *GetQuoteChar(void) { return m_IDQuoteChar; } 32 bool SetUUID(PGLOBAL g, PTDBJDBC tjp); 33 virtual int GetMaxValue(int infotype); 34 35 public: 36 // Operations 37 virtual bool Connect(PJPARM sop); MakeCursor(PGLOBAL g,PTDB tdbp,PCSZ options,PCSZ filter,bool pipe)38 virtual bool MakeCursor(PGLOBAL g, PTDB tdbp, PCSZ options, 39 PCSZ filter, bool pipe) {return true;} 40 virtual int GetResultSize(PCSZ sql, PCOL colp); 41 virtual int ExecuteCommand(PCSZ sql); 42 virtual int ExecuteQuery(PCSZ sql); 43 virtual int ExecuteUpdate(PCSZ sql); 44 virtual int Fetch(int pos = 0); 45 virtual void SetColumnValue(int rank, PSZ name, PVAL val); 46 47 // Jdbc operations 48 bool PrepareSQL(PCSZ sql); 49 int ExecuteSQL(void); // Prepared statement 50 bool SetParam(JDBCCOL *colp); 51 int GetCatInfo(JCATPARM *cap); 52 bool GetDrivers(PQRYRES qrp); 53 PQRYRES GetMetaData(PGLOBAL g, PCSZ src); 54 int Rewind(PCSZ sql); 55 56 // Implementation 57 public: 58 //virtual ~JDBConn(); 59 60 protected: 61 // Members 62 jmethodID xqid; // The ExecuteQuery method ID 63 jmethodID xuid; // The ExecuteUpdate method ID 64 jmethodID xid; // The Execute method ID 65 jmethodID grs; // The GetResult method ID 66 jmethodID readid; // The ReadNext method ID 67 jmethodID fetchid; // The Fetch method ID 68 jmethodID typid; // The ColumnType method ID 69 jmethodID prepid; // The CreatePrepStmt method ID 70 jmethodID xpid; // The ExecutePrep method ID 71 jmethodID pcid; // The ClosePrepStmt method ID 72 jmethodID objfldid; // The ObjectField method ID 73 jmethodID chrfldid; // The StringField method ID 74 jmethodID intfldid; // The IntField method ID 75 jmethodID dblfldid; // The DoubleField method ID 76 jmethodID fltfldid; // The FloatField method ID 77 jmethodID datfldid; // The DateField method ID 78 jmethodID timfldid; // The TimeField method ID 79 jmethodID tspfldid; // The TimestampField method ID 80 jmethodID bigfldid; // The BigintField method ID 81 jmethodID uidfldid; // The UuidField method ID 82 char m_IDQuoteChar[2]; 83 PCSZ m_Pwd; 84 int m_Ncol; 85 int m_Aff; 86 int m_Fetch; 87 int m_RowsetSize; 88 jboolean m_Updatable; 89 jboolean m_Transact; 90 jboolean m_Scrollable; 91 bool m_Full; 92 }; // end of JDBConn class definition 93