1/***********************************************************************/
2/* JDBConn.h : header file for the JDBC connection classes. */
3/***********************************************************************/
4#include "javaconn.h"
5
6// JDBC connection to a data source
7class TDBJDBC;
8class JDBCCOL;
9class JDBConn;
10class TDBXJDC;
11
12/***********************************************************************/
13/* JDBConn class. */
14/***********************************************************************/
15class JDBConn : public JAVAConn {
16 friend class TDBJDBC;
17 friend class TDBXJDC;
18//friend PQRYRES GetColumnInfo(PGLOBAL, char*&, char *, int, PVBLK&);
19private:
20 JDBConn(); // Standard (unused) constructor
21
22public:
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
30public:
31 char *GetQuoteChar(void) { return m_IDQuoteChar; }
32 bool SetUUID(PGLOBAL g, PTDBJDBC tjp);
33 virtual int GetMaxValue(int infotype);
34
35public:
36 // Operations
37 virtual bool Connect(PJPARM sop);
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
57public:
58 //virtual ~JDBConn();
59
60protected:
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