一组 ADOX 类






4.95/5 (32投票s)
使用一组 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