PODBC Class Reference

PODBC Class The Main ODBC class. More...

#include <podbc.h>

Inheritance diagram for PODBC:

PObject PDSNConnection List of all members.

Public Types

 LongVarChar = -1
 Binary = -2
 VarBinary = -3
 LongVarBinary = -4
 BigInt = -5
 TinyInt = -6
 Bit = -7
 Guid = -11
 Boolean.
 Unknown = 0
 Char = 1
 Numeric = 2
 Decimal = 3
 Integer = 4
 SmallInt = 5
 Float = 6
 Real = 7
 Double = 8
 DateTime = 9
 VarChar = 12
 Date = 91
 Time = 92
 Structure.
 TimeStamp = 93
 Structure.
 oPString
 oBOOL
 ochar
 oshort
 oint
 olong
 odouble
 oPBYTEArray
 oPInt64
 oPTime
 oPGUID
 mySQL
 MSSQL
 Oracle
 IBM_DB2
 DBASE
 Paradox
 Excel
 Ascii
 Foxpro
 MSAccess
 postgreSQL
 MSSQLNamedPipes
 MSSQLWinSock
 MSSQLIPX
 MSSQLBanyan
 MSSQLRPC
Enumerators
enum  FieldTypes {
  LongVarChar = -1, Binary = -2, VarBinary = -3, LongVarBinary = -4,
  BigInt = -5, TinyInt = -6, Bit = -7, Guid = -11,
  Unknown = 0, Char = 1, Numeric = 2, Decimal = 3,
  Integer = 4, SmallInt = 5, Float = 6, Real = 7,
  Double = 8, DateTime = 9, VarChar = 12, Date = 91,
  Time = 92, TimeStamp = 93
}
 Raw SQL data type codes Refer <sql.h> SQL_* This list is not inclusive. More...
enum  PwType {
  oPString, oBOOL, ochar, oshort,
  oint, olong, odouble, oPBYTEArray,
  oPInt64, oPTime, oPGUID
}
 Converted Pwlib Field Types. More...
enum  DataSources {
  mySQL, MSSQL, Oracle, IBM_DB2,
  DBASE, Paradox, Excel, Ascii,
  Foxpro, MSAccess, postgreSQL
}
 Datasources that are supported by this implementation used in the PODBC::DataSource Function. More...
enum  MSSQLProtocols {
  MSSQLNamedPipes, MSSQLWinSock, MSSQLIPX, MSSQLBanyan,
  MSSQLRPC
}
 MSSQL protocols.If your interested? More...

Public Member Functions

Constructor/Deconstructor
 PODBC ()
 Constructor.
 ~PODBC ()
 Deconstructor.
Data Queries
Table LoadTable (PString table)
 Load a specified Table/Stored Query or General 'SELECT' SQL Query.
PBoolean Query (PString Query)
 Added Information to the DataSource.
DataSource Access
PBoolean DataSource (DataSources Source, ConnectData Data)
 DataSource This is the main function to call to contact a DataSource.
virtual PBoolean Connect (LPCTSTR svSource)
 General Connect Function Custom connection strings should call this to connect Don't ask why its LPCTSTR!
PBoolean Connect_DB2 (PFilePath DBPath)
 Connect to IBM DB2 DataSource.
PBoolean Connect_XLS (PFilePath XLSPath, PString DefDir="")
 Connect to MS Office excel spreadsheet.
PBoolean Connect_TXT (PFilePath TXTPath)
 Connect to an ascii text or cvs file.
PBoolean Connect_FOX (PFilePath DBPath, PString User="", PString Pass="", PString Type="DBF", PBoolean Exclusive=false)
 Connect to a Foxpro dataSource.
PBoolean Connect_MDB (PFilePath MDBPath, PString User="", PString Pass="", PBoolean Exclusive=false)
 Connect to a MS Access *.mdb DataSource.
PBoolean Connect_PDOX (PDirectory DBPath, PDirectory DefaultDir, int version=5)
 Connect to a paradox database datastore.
PBoolean Connect_Oracle (PString Server, PString User="", PString Pass="")
 Connect to an Oracle Datasource.
PBoolean Connect_DBASE (PDirectory DBPath)
 Connect to a DBase DataStore.
PBoolean Connect_MSSQL (PString User="", PString Pass="", PString Host="(local)", PBoolean Trusted=true, MSSQLProtocols Proto=MSSQLNamedPipes)
 Connect to a MS SQL Server.
PBoolean Connect_mySQL (PString User="", PString Pass="", PString Host="localhost", int Port=3306, int Option=0)
 Connect to a mySQL Server.
PBoolean ConnectDB_mySQL (PString DB, PString User="", PString Pass="", PString Host="localhost", int Port=3306, int Option=0)
 Connect to a mySQL Server's specified DataBase.
PBoolean Connect_postgreSQL (PString DB, PString User, PString Pass, PString Host, int Port=5432, int Option=0)
 Connect to a postgreSQL Server.
void Disconnect ()
 General Disconnect from DataSource.
Utilities
PStringArray TableList (PString option="")
 Retrieve a List of Tables in the Datasource use the option field to specify the type of data to access.
PBoolean NeedLongDataLen ()
 Check whether their is a limit to Datalength when obtaining Long Data.
virtual void OnSQLError (PString RetCode, PString RetString)
 OnSQL Error.
void SetPrecision (int Digit)
 Set the Number of Decimal places to round to By Default it is 4.
void SetTimeFormat (PTime::TimeFormat tformat)
 Set the Time Display Format.
 operator HDBC ()
 Operator Handle DataBase Connection.

Public Attributes

PODBC::DataSources dbase

Protected Attributes

SQLRETURN m_nReturn
 Database Type connected to.
HENV m_hEnv
HDBC m_hDBC

Classes

class  ConnectData
 This class is a multipurpose use class for storing parameters when initiating connection to DataSource. More...
class  Field
class  Row
 This class functions as a simple wrapper of the PODBCStmt class to fetch/Save data to the Datasource. More...
class  Table
 PODBC::Table This is the main Class to access Data returned by a Select Query. More...

Detailed Description

PODBC Class The Main ODBC class.

This Class should be used in the there is not a preconfigured DSN setup in the MDAC. This class will use the applicable ODBC drivers to connect to a compliant Datasource. It Supports a wide variety of Datasources but others can added by simply creating your custom connection string and then calling PODBC::Connect. For Defined sources the PODBC::DataSource function should be used.


Member Enumeration Documentation

enum PODBC::DataSources

Datasources that are supported by this implementation used in the PODBC::DataSource Function.

Enumerator:
mySQL 
MSSQL 
Oracle 
IBM_DB2 
DBASE 
Paradox 
Excel 
Ascii 
Foxpro 
MSAccess 
postgreSQL 

enum PODBC::FieldTypes

Raw SQL data type codes Refer <sql.h> SQL_* This list is not inclusive.

If an item is not listed or Unknown it is treated as a character string.

Enumerator:
LongVarChar 
Binary 
VarBinary 
LongVarBinary 
BigInt 
TinyInt 
Bit 
Guid  Boolean.
Unknown 
Char 
Numeric 
Decimal 
Integer 
SmallInt 
Float 
Real 
Double 
DateTime 
VarChar 
Date 
Time  Structure.
TimeStamp  Structure.

enum PODBC::MSSQLProtocols

MSSQL protocols.If your interested?

Enumerator:
MSSQLNamedPipes 
MSSQLWinSock 
MSSQLIPX 
MSSQLBanyan 
MSSQLRPC 

enum PODBC::PwType

Converted Pwlib Field Types.

Data is stored as a PString and the pwType enumerator indicates the conversion required on the PODBC::Field.

Enumerator:
oPString 
oBOOL 
ochar 
oshort 
oint 
olong 
odouble 
oPBYTEArray 
oPInt64 
oPTime 
oPGUID 


Constructor & Destructor Documentation

PODBC::PODBC (  ) 

Constructor.

PODBC::~PODBC (  ) 

Deconstructor.


Member Function Documentation

virtual PBoolean PODBC::Connect ( LPCTSTR  svSource  )  [virtual]

General Connect Function Custom connection strings should call this to connect Don't ask why its LPCTSTR!

PBoolean PODBC::Connect_DB2 ( PFilePath  DBPath  ) 

Connect to IBM DB2 DataSource.

PBoolean PODBC::Connect_DBASE ( PDirectory  DBPath  ) 

Connect to a DBase DataStore.

PBoolean PODBC::Connect_FOX ( PFilePath  DBPath,
PString  User = "",
PString  Pass = "",
PString  Type = "DBF",
PBoolean  Exclusive = false 
)

Connect to a Foxpro dataSource.

PBoolean PODBC::Connect_MDB ( PFilePath  MDBPath,
PString  User = "",
PString  Pass = "",
PBoolean  Exclusive = false 
)

Connect to a MS Access *.mdb DataSource.

PBoolean PODBC::Connect_MSSQL ( PString  User = "",
PString  Pass = "",
PString  Host = "(local)",
PBoolean  Trusted = true,
MSSQLProtocols  Proto = MSSQLNamedPipes 
)

Connect to a MS SQL Server.

PBoolean PODBC::Connect_mySQL ( PString  User = "",
PString  Pass = "",
PString  Host = "localhost",
int  Port = 3306,
int  Option = 0 
)

Connect to a mySQL Server.

PBoolean PODBC::Connect_Oracle ( PString  Server,
PString  User = "",
PString  Pass = "" 
)

Connect to an Oracle Datasource.

PBoolean PODBC::Connect_PDOX ( PDirectory  DBPath,
PDirectory  DefaultDir,
int  version = 5 
)

Connect to a paradox database datastore.

PBoolean PODBC::Connect_postgreSQL ( PString  DB,
PString  User,
PString  Pass,
PString  Host,
int  Port = 5432,
int  Option = 0 
)

Connect to a postgreSQL Server.

PBoolean PODBC::Connect_TXT ( PFilePath  TXTPath  ) 

Connect to an ascii text or cvs file.

PBoolean PODBC::Connect_XLS ( PFilePath  XLSPath,
PString  DefDir = "" 
)

Connect to MS Office excel spreadsheet.

PBoolean PODBC::ConnectDB_mySQL ( PString  DB,
PString  User = "",
PString  Pass = "",
PString  Host = "localhost",
int  Port = 3306,
int  Option = 0 
)

Connect to a mySQL Server's specified DataBase.

PBoolean PODBC::DataSource ( DataSources  Source,
ConnectData  Data 
)

DataSource This is the main function to call to contact a DataSource.

Source specifies the Type of DataSource to contact and the Data parameter contain the relevent connection information. You can choose to call this function or use the specific Connection function.

void PODBC::Disconnect (  ) 

General Disconnect from DataSource.

Table PODBC::LoadTable ( PString  table  ) 

Load a specified Table/Stored Query or General 'SELECT' SQL Query.

This function will return a PODBC::Table for further analysis. Do Not Use this Function for any other SQL statements other than SELECT.

PBoolean PODBC::NeedLongDataLen (  ) 

Check whether their is a limit to Datalength when obtaining Long Data.

virtual void PODBC::OnSQLError ( PString  RetCode,
PString  RetString 
) [inline, virtual]

OnSQL Error.

PODBC::operator HDBC (  )  [inline]

Operator Handle DataBase Connection.

PBoolean PODBC::Query ( PString  Query  ) 

Added Information to the DataSource.

Use this function if you just want to use a SQL statement to add data to a datasource without retreiving the data itself. ie "UPDATE" "APPEND" "INSERT" queries.

void PODBC::SetPrecision ( int  Digit  ) 

Set the Number of Decimal places to round to By Default it is 4.

However if the field decimal places is less then Precision Value the field rounding will be used. This must be set prior to calling LoadTable()

void PODBC::SetTimeFormat ( PTime::TimeFormat  tformat  ) 

Set the Time Display Format.

PStringArray PODBC::TableList ( PString  option = ""  ) 

Retrieve a List of Tables in the Datasource use the option field to specify the type of data to access.

ie "TABLE" or "VIEW" (further dev req'd)


Member Data Documentation

PODBC::DataSources PODBC::dbase

HDBC PODBC::m_hDBC [protected]

HENV PODBC::m_hEnv [protected]

SQLRETURN PODBC::m_nReturn [protected]

Database Type connected to.


The documentation for this class was generated from the following file:
Generated on Fri Oct 14 01:44:12 2011 for PTLib by  doxygen 1.4.7