Table of Contents
I created these classes to make it easy to work with ADOX. For this, I created the CADOXCatalog
class, the CADOXTable
class, the CADOXIndex
class, the CADOXProcedure
class and the CADOXUser
class.
Constructs a CADOXCatalog
object:
CADOXCatalog();
The Open
function establishes connections to a database:
bool Open(LPCTSTR lpstrConnection);
Parameters
LPCTSTR lpstrConnection
: A string
pointer containing a Connection String.
If the function succeeds, this returns true
.
For example:
CADOXCatalog pxcat;
CString strConnection = _T("");
strConnection = "Provider=Microsoft.JET.OLEDB.4.0;Data source = "
"c:\\adox\\Test.mdb;Jet OLEDB:Engine Type=5;";
pxcat.Open(strConnection);
bool CreateDatabase(LPCTSTR lpstrCreate);
Parameters
If the function succeeds, this returns true
.
For example:
CADOXCatalog pxcat;
CString strConnection = _T("");
strConnection = "Provider=Microsoft.JET.OLEDB.4.0;Data source = "
"c:\\adox\\Test.mdb;Jet OLEDB:Engine Type=5;";
pxcat.CreateDatabase(strConnection);
The AddTable
function adds a new table to the database.
bool AddTable(CADOXTable pTable);
Parameters
CADOXTable pTable
: Pointer to the CADOXTable
Object.
If the function succeeds, this returns true
.
See sample
The AddUser
function adds a new user to the database.
bool AddUser(CADOXUser pUser, LPCTSTR lpstrPassword);
Parameters
CADOXUser pUser
: A pointer to the CADOXUser
Object. LPCTSTR lpstrPassword
A string pointer containing the user password.
If the function succeeds, this returns true
.
The GetProcedureCount
function returns the number of stored procedures defined for the database.
long GetProcedureCount();
The GetTableCount
function returns the number of tables defined for the database.
long GetTableCount();
The GetViewCount
function returns the number of fields defined for the database.
long GetViewCount();
The GetUserCount
function returns the number of users that exist in the database.
long GetUserCount();
The GetGroupCount
function returns the number of groups that exist in the database.
long GetGroupCount();
The GetTableName
function obtains the table name defined in the database.
void GetTableName(long nTableIndex, CString strTableName);
Parameters
long nTableIndex
: The Table
Index in the database that is opened by CADOXCatalog
CString strTableName
: Pointer to a buffer in which to return the Table Name.
The GetProcedureName
function obtains the stored procedure name defined in the database.
void GetProcedureName(long nProcedureIndex, CString strProcedureName);
Parameters
long nProcedureIndex
: The Procedure Index in the database that is opened by CADOXCatalog
CString strProcedureName
: Pointer to a buffer in which to return the Procedure Name.
The GetViewName
function obtains the View name defined in the database.
void GetViewName(long nViewIndex, CString strViewName);
Parameters
long nViewIndex
: The View Index in the database that is opened by CADOXCatalog
CString strViewName
: Pointer to a buffer in which to return the View Name.
The GetUserName
function obtains the User name defined in the database.
void GetUserName(long nUserIndex, CString strUserName);
Parameters
long nUserIndex
: The User Index in the database that is opened by CADOXCatalog
CString strUserName
: Pointer to a buffer in which to return the User Name.
The GetGroupName
function obtains the Group name defined in the database.
void GetGroupName(long nGroupIndex, CString strGroupName);
Parameters
long nGroupIndex
: The Group Index in the database that is open by CADOXCatalog
CString strGroupName
: Pointer to a buffer in which to return the Group Name.
The DeleteTable
function deletes the definition of a table in the database.
bool DeleteTable(long nTableIndex);
bool DeleteTable(LPCTSTR lpstrTableName);
Parameters
long nTableIndex
: The Table Index in the database that is opened by CADOXCatalog
LPCTSTR lpstrTableName
: A string
pointer containing the Table Name.
The DeleteProcedure
function deletes the definition of a Stored Procedure in the database.
bool DeleteProcedure(long nProcedureIndex);
bool DeleteProcedure(LPCTSTR lpstrProcedureName);
Parameters
long nProcedureIndex
: The Procedure Index in the database that is opened by CADOXCatalog
LPCTSTR lpstrProcedureName
: A string
pointer containing the Procedure Name.
The DeleteView
function deletes the definition of a View
in the database.
bool DeleteView(long nViewIndex);
bool DeleteView(LPCTSTR lpstrViewName);
Parameters
long nViewIndex
: The View
Index in the database that is opened by CADOXCatalog
LPCTSTR lpstrViewName
: A string
pointer containing the View Name.
The DeleteGroup
function deletes the definition of a Group
in the database.
bool DeleteGroup(long nGroupIndex);
bool DeleteGroup(LPCTSTR lpstrGroupName);
Parameters
long nGroupIndex
: The Group
Index in the database that is opened by CADOXCatalog
LPCTSTR lpstrGroupName
: A string
pointer containing the Group Name.
The DeleteUser
function deletes the definition of a User
in the database.
bool DeleteUser(long nViewIndex);
bool DeleteUser(LPCTSTR lpstrUserName);
Parameters
long nViewIndex
: The User Index in the database that is opened by CADOXCatalog
LPCTSTR lpstrUserName
: A string
pointer containing the User Name.
Constructs a CADOXTable
object:
CADOXTable(CADOXCatalog* pCat);
Parameters
CADOXCatalog* pCat
: Pointer to the CADOXCatalog
Object.
The Create
function creates a table, that can be added to the database using CADOXCatalog::AddTable.
bool Create(LPCTSTR lpstrTableName);
Parameters
LPCTSTR lpstrTableName
: A string
pointer containing the Table Name.
See sample
The Open
function opens an existing table in the database.
bool Open(long nTableIndex);
bool Open(LPCTSTR lpstrTableName);
Parameters
long nTableIndex
: The Table
Index in the database that is opened by CADOXCatalog
LPCTSTR lpstrTableName
: A string
pointer containing the Table Name.
The AddField
function creates a field in the table.
bool AddField(LPCTSTR lpstrFieldName, enum DataType Type, int nLength = 0);
Parameters
LPCTSTR lpstrFieldName
: A string
pointer containing a Field Name. enum DataType Type
: A value indicating the data type of the field. The setting can be one of these values:
CADOXTable::typeSmallInt
CADOXTable::typeInteger
CADOXTable::typeUnsignedTinyInt
CADOXTable::typeUnsignedSmallInt
CADOXTable::typeUnsignedInt
CADOXTable::typeUnsignedBigInt
CADOXTable::typeSingle
CADOXTable::typeDouble
CADOXTable::typeCurrency
CADOXTable::typeDecimal
CADOXTable::typeNumeric
CADOXTable::typeBoolean
CADOXTable::typeDate
CADOXTable::typeDBDate
CADOXTable::typeDBTime
CADOXTable::typeDBTimeStamp
CADOXTable::typeBSTR
CADOXTable::typeVarChar
CADOXTable::typeLongVarChar
CADOXTable::typeWChar
CADOXTable::typeVarWChar
CADOXTable::typeLongVarWChar
CADOXTable::typeBinary
CADOXTable::typeVarBinary
CADOXTable::typeLongVarBinary
CADOXTable::typeChapter
CADOXTable::typeFileTime
CADOXTable::typePropVariant
CADOXTable::typeVarNumeric
int nLength = 0
: A value that indicates the maximum size, in bytes, of a field. In any kind of fields, nLength
is ignored.
See sample
The AddIndex
function creates an Index
in the table.
bool AddIndex(CADOXIndex pIndex);
Parameters
CADOXIndex pIndex
: Pointer to a CADOXIndex
Object.
See sample
The DeleteField
function removes a field and makes it inaccessible.
bool DeleteField(LPCTSTR lpstrFieldName);
Parameters
LPCTSTR lpstrFieldName
: A string
pointer containing the Field Name.
void GetName(CString &strTableName);
Parameters
CString &strTableName
: Reference to a buffer in which to return the Table Name.
Constructs a CADOXIndex
object:
CADOXIndex();
bool Create(LPCTSTR lpstrIndexName);
Parameters
LPCTSTR lpstrIndexName
: A string
pointer containing a Index Name.
See sample
The AddField
function creates a field in the Index.
bool AddField(LPCTSTR lpstrIndexName, enum DataType Type, int nLength = 0);
Parameters
LPCTSTR lpstrIndexName
: A string pointer containing the Index Name. enum DataType Type
: A value indicating the data type of the field. The setting can be one of these values:
CADOXIndex::typeSmallInt
CADOXIndex::typeInteger
CADOXIndex::typeUnsignedTinyInt
CADOXIndex::typeUnsignedSmallInt
CADOXIndex::typeUnsignedInt
CADOXIndex::typeUnsignedBigInt
CADOXIndex::typeSingle
CADOXIndex::typeDouble
CADOXIndex::typeCurrency
CADOXIndex::typeDecimal
CADOXIndex::typeNumeric
CADOXIndex::typeBoolean
CADOXIndex::typeDate
CADOXIndex::typeDBDate
CADOXIndex::typeDBTime
CADOXIndex::typeDBTimeStamp
CADOXIndex::typeBSTR
CADOXIndex::typeVarChar
CADOXIndex::typeLongVarChar
CADOXIndex::typeWChar
CADOXIndex::typeVarWChar
CADOXIndex::typeLongVarWChar
CADOXIndex::typeBinary
CADOXIndex::typeVarBinary
CADOXIndex::typeLongVarBinary
CADOXIndex::typeChapter
CADOXIndex::typeFileTime
CADOXIndex::typePropVariant
CADOXIndex::typeVarNumeric
int nLength = 0
: A value that indicates the maximum size, in bytes, of a field. In any kind of fields nLength
is ignored
See sample
void SetPrimarKey(bool bPrimary = true);
Parameters
See sample
CADOXTable pxTable(&pxcat);
pxTable.Create("Table4");
pxTable.AddField("Column1", CADOXTable::typeInteger, 0);
pxTable.AddField("Column2", CADOXTable::typeInteger, 0);
pxTable.AddField("Column3", CADOXTable::typeWChar, 25);
pxcat.AddTable(pxTable);
CADOXIndex pxInd;
pxInd.Create("Index1");
pxInd.AddField("Column1", CADOXIndex::typeInteger, 0);
pxInd.SetPrimarKey();
pxTable.AddIndex(pxInd);
Constructs a CADOXProcedure
object:
CADOXProcedure(CADOXCatalog* pCat);
Parameters
CADOXCatalog* pCat
: Pointer to the CADOXCatalog
Object.
void GetCommand(CString strCommand);
Parameters
CString strCommand
: Pointer to a buffer in which to return the Command String.
void GetName(CString strName);
Parameters
CString strName
: Pointer to a buffer in which to return the Procedure Name.
bool Open(LPCTSTR lpstrProcedureName);
Parameters
LPCTSTR lpstrProcedureName
: A string
pointer containing the Procedure Name.
bool Create(CString strName, CString strCommand);
Parameters
CString strName
: A string pointer containing a Procedure Name. CString strCommand
: A string pointer containing the Command String.
Constructs a CADOXView
object:
CADOXView(CADOXCatalog* pCat);
Parameters
CADOXCatalog* pCat
: Pointer to the CADOXCatalog
Object.
void GetCommand(CString strCommand);
Parameters
CString strCommand
: Pointer to a buffer in which to return the Command String.
void GetName(CString strName);
Parameters
CString strName
: Pointer to a buffer in which to return the View Name.
bool Open(LPCTSTR lpstrViewName);
Parameters
LPCTSTR lpstrViewName
: A string pointer containing the View Name.
bool Create(CString strName, CString strCommand);
Parameters
CString strName
: A string
pointer containing a View Name. CString lpstrCommand
: A string
pointer containing the Command String.
CString strCommand = _T("Select * From Table4");
xView.Create("View01", strCommand);
Constructs a CADOXUser
object:
CADOXUser(CADOXCatalog* pCat);
Parameters
CADOXCatalog* pCat
: Pointer to the CADOXCatalog
Object.
void GetName(CString strName);
Parameters
CString strName
: Pointer to a buffer in which to return the User Name.
bool Create(LPCTSTR lpstrUserName);
Parameters
LPCTSTR lpstrUserName
: A string pointer containing a User Name.
bool Open(LPCTSTR lpstrUserName);
Parameters
LPCTSTR lpstrUserName
: A string pointer containing the User Name.
bool ChangePassword(LPCTSTR lpstrOldPassword, LPCTSTR lpstrNewPassword);
Parameters
LPCTSTR lpstrOldPassword
: A string
pointer containing the Old Password. LPCTSTR lpstrNewPassword
: A string
pointer containing the New Password.
Remarks
Some functions do not work in all providers, for example CADOXCatalog::AddTable
doesn't work in MS SQL Server.
Special Thanks
Thanks for your ideas, suggestions and collaboration:
- Christian Graus
- Mike Osbahr
- Francis BONTHOUX