65.9K
CodeProject 正在变化。 阅读更多。
Home

一组 ADOX 类

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.95/5 (32投票s)

2002年6月20日

CPOL

6分钟阅读

viewsIcon

996004

downloadIcon

5113

使用一组 ADOX 类进行简单的数据库目录访问。

目录

概述

我创建了这些类,以便于处理 ADOX。为此,我创建了 CADOXCatalog 类、CADOXTable 类、CADOXIndex 类、CADOXProcedure 类和 CADOXUser 类。

CADOXCatalog 类

CADOXCatalog::CADOXCatalog

构造一个 CADOXCatalog 对象

CADOXCatalog();

CADOXCatalog::Open

Open 函数建立与数据库的连接

bool Open(LPCTSTR lpstrConnection);

参数

  • LPCTSTR lpstrConnection:包含连接字符串字符串指针。

如果函数成功,则返回true

例如

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);

CADOXCatalog::CreateDatabase

bool CreateDatabase(LPCTSTR lpstrCreate);

参数

  • LPCTSTR lpstrCreate

如果函数成功,则返回true

例如

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);

CADOXCatalog::AddTable

AddTable 函数向数据库添加一个新表。

bool AddTable(CADOXTable pTable);

参数

  • CADOXTable pTable:指向 CADOXTable 对象的指针。

如果函数成功,则返回true

请参阅示例

CADOXCatalog::AddUser

AddUser 函数向数据库添加一个新用户。

bool AddUser(CADOXUser pUser, LPCTSTR lpstrPassword);

参数

  • CADOXUser pUser:指向 CADOXUser 对象的指针。
  • LPCTSTR lpstrPassword 包含用户密码的字符串指针。

如果函数成功,则返回true

CADOXCatalog::GetProcedureCount

GetProcedureCount 函数返回数据库定义的存储过程的数量。

long GetProcedureCount();

CADOXCatalog::GetTableCount

GetTableCount 函数返回数据库定义的表数量。

long GetTableCount();

CADOXCatalog::GetViewCount

GetViewCount 函数返回数据库定义的字段数量。

long GetViewCount();

CADOXCatalog::GetUserCount

GetUserCount 函数返回数据库中存在的用户数量。

long GetUserCount();

CADOXCatalog::GetGroupCount

GetGroupCount 函数返回数据库中存在的组的数量。

long GetGroupCount();

CADOXCatalog::GetTableName

GetTableName 函数获取数据库中定义的表名。

void GetTableName(long nTableIndex, CString strTableName);

参数

  • long nTableIndex:由 CADOXCatalog 打开的数据库中的索引。
  • CString strTableName:指向用于返回表名的缓冲区的指针。

CADOXCatalog::GetProcedureName

GetProcedureName 函数获取数据库中定义的存储过程名。

void GetProcedureName(long nProcedureIndex, CString strProcedureName);

参数

  • long nProcedureIndex:由 CADOXCatalog 打开的数据库中的过程索引。
  • CString strProcedureName:指向用于返回过程名的缓冲区的指针。

CADOXCatalog::GetViewName

GetViewName 函数获取数据库中定义的视图名。

void GetViewName(long nViewIndex, CString strViewName);

参数

  • long nViewIndex:由 CADOXCatalog 打开的数据库中的视图索引。
  • CString strViewName:指向用于返回视图名的缓冲区的指针。

CADOXCatalog::GetUserName

GetUserName 函数获取数据库中定义的用户名。

void GetUserName(long nUserIndex, CString strUserName);

参数

  • long nUserIndex:由 CADOXCatalog 打开的数据库中的用户索引。
  • CString strUserName:指向用于返回用户名的缓冲区的指针。

CADOXCatalog::GetGroupName>

GetGroupName 函数获取数据库中定义的组名。

void GetGroupName(long nGroupIndex, CString strGroupName);

参数

  • long nGroupIndex:由 CADOXCatalog 打开的数据库中的组索引。
  • CString strGroupName:指向用于返回组名的缓冲区的指针。

CADOXCatalog::DeleteTable

DeleteTable 函数删除数据库中表的定义。

bool DeleteTable(long nTableIndex);
bool DeleteTable(LPCTSTR lpstrTableName);

参数

  • long nTableIndex:由 CADOXCatalog 打开的数据库中的表索引。
  • LPCTSTR lpstrTableName:包含表名字符串指针。

CADOXCatalog::DeleteProcedure

DeleteProcedure 函数删除数据库中存储过程的定义。

bool DeleteProcedure(long nProcedureIndex);
bool DeleteProcedure(LPCTSTR lpstrProcedureName);

参数

  • long nProcedureIndex:由 CADOXCatalog 打开的数据库中的过程索引。
  • LPCTSTR lpstrProcedureName:包含过程名字符串指针。

CADOXCatalog::DeleteView

DeleteView 函数删除数据库中视图的定义。

bool DeleteView(long nViewIndex);
bool DeleteView(LPCTSTR lpstrViewName);

参数

  • long nViewIndex:由 CADOXCatalog 打开的数据库中的视图索引。
  • LPCTSTR lpstrViewName:包含视图名字符串指针。

CADOXCatalog::DeleteGroup

DeleteGroup 函数删除数据库中的定义。

bool DeleteGroup(long nGroupIndex);
bool DeleteGroup(LPCTSTR lpstrGroupName);

参数

  • long nGroupIndex:由 CADOXCatalog 打开的数据库中的索引。
  • LPCTSTR lpstrGroupName:包含组名字符串指针。

CADOXCatalog::DeleteUser

DeleteUser 函数删除数据库中用户的定义。

bool DeleteUser(long nViewIndex);
bool DeleteUser(LPCTSTR lpstrUserName);

参数

  • long nViewIndex:由 CADOXCatalog 打开的数据库中的用户索引。
  • LPCTSTR lpstrUserName:包含用户名字符串指针。

CADOXTable 类

CADOXTable::CADOXTable

构造一个 CADOXTable 对象

CADOXTable(CADOXCatalog* pCat);

参数

CADOXCatalog* pCat:指向 CADOXCatalog 对象的指针。

CADOXTable::Create

Create 函数创建一个表,可以使用 CADOXCatalog::AddTable 将其添加到数据库。

bool Create(LPCTSTR lpstrTableName);

参数

  • LPCTSTR lpstrTableName:包含表名字符串指针。

请参阅示例

CADOXTable::Open

Open 函数打开数据库中现有的表。

bool Open(long nTableIndex);
bool Open(LPCTSTR lpstrTableName);

参数

  • long nTableIndex:由 CADOXCatalog 打开的数据库中的索引。
  • LPCTSTR lpstrTableName:包含表名字符串指针。

CADOXTable::AddField

AddField 函数在表中创建一个字段。

bool AddField(LPCTSTR lpstrFieldName, enum DataType Type, int nLength = 0);

参数

  • LPCTSTR lpstrFieldName:包含字段名字符串指针。
  • enum DataType Type:指示字段数据类型的 enum 值。此设置可以是以下值之一
    • 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:指示字段最大大小(以字节为单位)的值。在任何类型的字段中,nLength 都被忽略。

请参阅示例

CADOXTable::AddIndex

AddIndex 函数在表中创建一个索引

bool AddIndex(CADOXIndex pIndex);

参数

CADOXIndex pIndex:指向 CADOXIndex 对象的指针。

请参阅示例

CADOXTable::DeleteField

DeleteField 函数删除一个字段并使其无法访问。

bool DeleteField(LPCTSTR lpstrFieldName);

参数

  • LPCTSTR lpstrFieldName:包含字段名字符串指针。

CADOXTable::GetName

void GetName(CString &strTableName);

参数

  • CString &strTableName:对用于返回表名的缓冲区的引用。

CADOXIndex 类

CADOXIndex::CADOXIndex

构造一个 CADOXIndex 对象

CADOXIndex();

CADOXIndex::Create

bool Create(LPCTSTR lpstrIndexName);

参数

  • LPCTSTR lpstrIndexName:包含索引名字符串指针。

请参阅示例

CADOXIndex::AddField

AddField 函数在索引中创建一个字段。

bool AddField(LPCTSTR lpstrIndexName, enum DataType Type, int nLength = 0);

参数

  • LPCTSTR lpstrIndexName:包含索引名的字符串指针。
  • enum DataType Type:指示字段数据类型的 enum 值。此设置可以是以下值之一
    • 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:指示字段最大大小(以字节为单位)的值。在任何类型的字段中,nLength 都被忽略。

请参阅示例

CADOXIndex::SetPrimaryKey

void SetPrimarKey(bool bPrimary = true);

参数

  • bool bPrimary = true

请参阅示例

示例 01

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);

CADOXProcedure 类

CADOXProcedure::CADOXProcedure

构造一个 CADOXProcedure 对象

CADOXProcedure(CADOXCatalog* pCat);

参数

CADOXCatalog* pCat:指向 CADOXCatalog 对象的指针。

CADOXProcedure::GetCommand

void GetCommand(CString strCommand);

参数

CString strCommand:指向用于返回命令字符串的缓冲区的指针。

CADOXProcedure::GetName

void GetName(CString strName);

参数

CString strName:指向用于返回过程名的缓冲区的指针。

CADOXProcedure::Open

bool Open(LPCTSTR lpstrProcedureName);

参数

LPCTSTR lpstrProcedureName:包含过程名字符串指针。

CADOXProcedure::Create

bool Create(CString strName, CString strCommand);

参数

  • CString strName:包含过程名的字符串指针。
  • CString strCommand:包含命令字符串的字符串指针。

CADOXView 类

CADOXView::CADOXView

构造一个 CADOXView 对象

CADOXView(CADOXCatalog* pCat);

参数

CADOXCatalog* pCat:指向 CADOXCatalog 对象的指针。

CADOXView::GetCommand

void GetCommand(CString strCommand);

参数

  • CString strCommand:指向用于返回命令字符串的缓冲区的指针。

CADOXView::GetName

void GetName(CString strName);

参数

  • CString strName:指向用于返回视图名的缓冲区的指针。

CADOXView::Open

bool Open(LPCTSTR lpstrViewName);

参数

  • LPCTSTR lpstrViewName:包含视图名的字符串指针。

CADOXView::Create

bool Create(CString strName, CString strCommand);

参数

  • CString strName:包含视图名字符串指针。
  • CString lpstrCommand:包含命令字符串字符串指针。
CString strCommand = _T("Select * From Table4");
xView.Create("View01", strCommand);

CADOXUser 类

CADOXUser::CADOXUser

构造一个 CADOXUser 对象

CADOXUser(CADOXCatalog* pCat);

参数

CADOXCatalog* pCat:指向 CADOXCatalog 对象的指针。

CADOXUser::GetName

void GetName(CString strName);

参数

  • CString strName:指向用于返回用户名的缓冲区的指针。

CADOXUser::Create

bool Create(LPCTSTR lpstrUserName);

参数

  • LPCTSTR lpstrUserName:包含用户名的字符串指针。

CADOXUser::Open

bool Open(LPCTSTR lpstrUserName);

参数

  • LPCTSTR lpstrUserName:包含用户名的字符串指针。

CADOXUser::ChangePassword

bool ChangePassword(LPCTSTR lpstrOldPassword, LPCTSTR lpstrNewPassword);

参数

  • LPCTSTR lpstrOldPassword:包含旧密码字符串指针。
  • LPCTSTR lpstrNewPassword:包含新密码字符串指针。

备注

某些函数并非在所有提供程序中都可用,例如 CADOXCatalog::AddTable 在 MS SQL Server 中不起作用。

特别感谢

感谢您的想法、建议和合作

  • Christian Graus
  • Mike Osbahr
  • Francis BONTHOUX
© . All rights reserved.