一套ADO类-版本2.20

A set of ADO classes - version 2.20 - CodeProject

为了方便大家下载源代码 ,我的资源中也放了一份拷贝。

英语挺烂的,硬着头皮算是翻译下来了,第一次做网页排版,有什么错误请大家回帖指出来,我好方便修改。

概述

概述

我创建这些类使得我们更容易使用ADO来做我们的工作。比如我创建了CADODatabse和CADORecordset类

CADODatabse类
CADODatabse类封装了一套_ConnectionPtr智能指针相关的函数

CADODatabase::CADODatabase
创建一个CADODatabase对象

CADODatabase::Open
Open函数打开一个数据库连接

参数
LPCTSTR lpstrConnection 连接字符串
查看示例
注:该类有个函数SetConnectionString,您可以通过这个函数插入连接字符串。在这种情况下您可以执行如下操作:

CADODatabase::Execute
Excute函数在一个打开的数据库连接中执行一个SQL语句

参数
LPCTSTR lpstrExec - 一个包含需要执行的SQL语句字符串指针

返回值
假如执行成功,这个函数返回TRUE

CADODatabase::GetRecordsAffected
GetRecordsAffected返回上一次SQL命令执行后影响的记录个数

CADODatabase::GetActiveConnection
GetActiveConnection返回活动连接(当前的连接)

CADODatabase::GetRecordCount
GetRecordCount返回一个查询中受影响的记录数

参数
_RecorsetPtr m_Prs -要查询的记录集

CADODatabase::BeginTransaction
调用此函数来初始化一个事务。您调用BeginTransaction以后,当您提交事务后更新才使得您的数据使之生效。

CADODatabase::CommitTransaction
调用CommitTransaction函数提交事务,比如,保存一组编辑和一个或者多个数据库更新

CADODatabase::RollbackTransaction
调用RollbackTransaction函数结束当前事务和恢复在事务开始前的所有数据库状况

CADODatabase::IsOpen
IsOpen函数返回数据库连接的状态

返回值
假如连接的数据库是打开的,这个函数返回TRUE

CADODatabase::Close
Close函数关闭数据库连接

CADODatabase::SetConnectionString
使用SetConnectionString您可以插入一个连接字符串

参数
LPCTSTR lpstrConnection -一个用于打开数据库的连接字符串
见CADODatabase::Open();

CADODatabase::GetConnectionString
GetConnectionString函数返回用来连接数据库的连接字符串

CADODatabase::SetConnectionMode
SetConnectionMode函数设置连接模式

参数
cadoConnectModeEnum nMode-一个变量,它定义要使用的连接方式。它可以是下列之一:

  • CADODatabase::connectModeUnknown
  • CADODatabase::connectModeRead
  • CADODatabase::connectModeWrite
  • CADODatabase::connectModeReadWrite
  • CADODatabase::connectModeShareDenyRead
  • CADODatabase::connectModeShareDenyWrite
  • CADODatabase::connectModeShareExclusive
  • CADODatabase::connectModeShareDenyNone

CADODatabase::GetLastError
GetLastError函数返回最后一个错误代码

CADODatabase::GetLastErrorString
GetLastErrorString返回最后个错误的字符串

CADORecordset 类
CADORecordset 类封装了一套与_RecordsetPtr智能指针相关的函数

CADORecordset::CADORecordset
创建一个CADORecordset对象

参数
CADODatabase* pAdoDatabase - 一个CADODatabase对象指针

CADORecordset::Open
Open函数打开一个记录集

参数
_ConnectionPtr mpdb -一个连接指针
LPCTSTR lpstrExec - 一个字符串指针,包含一个SQL SELECT语句
int nOption - 一个整形数,它定义访问模式。这些值如下

  • CADORecordset::openUnknown
  • CADORecordset::openQuery
  • CADORecordset::openTable
  • CADORecordset::openStoredProc


返回值
假如执行成功返回TRUE
查看示例

CADORecordset::Execute
Execute函数打开一个记录集

参数
CADOCommand* pCommand - 一个CADOCommand指针
返回值
假如执行成功返回TRUE
查看示例

CADORecordset::GetQuery;
GetQuery返回包含SELECT关键字的SQL命令字符串

CADORecordset::SetQuery

参数
LPCTSTR strQuery - 一个字符串指针,包含一个SQL SELECT语句

CADORecordset::RecordBinding

参数
CADORecordBinding pAdoRecordBinding

CADORecordset::GetRecordCount
GetRecordCount 函数返回可以在记录集中访问的记录数

查看示例

CADORecordset::IsOpen
IsOpen 测试记录集是否打开

返回值
假如这个记录集没有关闭,这个函数返回TRUE

CADORecordset::Close
Close函数关闭记录集

查看示例

CADORecordset::GetFieldCount
GetRecordCount 函数返回记录集中的字段数目

CADORecordset::GetFieldValue


参数
LPCTSTR lpFieldName -一个包含有字段名称的字符串指针
int nIndex -一个在记录集的所有字段集中以零为基准,需要查看的索引
double dbValue - 一个将要储存字段值的引用变量
long lValue - 一个将要储存字段值的引用变量
unsigned long ulValue - 一个将要储存字段值的引用变量
int nValue - 一个将要储存字段值的引用变量
CString strValue- 一个将要储存字段值的引用变量
CString strDateFormat 一个时间格式字符串,类似strftime格式的字符,他们普遍是
%a - 平日名称缩写
%A - 全平日名称
%b - 月份名称
%B - 月份的全称
%c - 日期和时间是用本地时间表示
%d - 十进制表示月的天(01-31)
%H - 24时时间格式(00-23)
%I - 12时时间格式(01-12)
%j - 十进制表示年的天(001-366)
%m - 十进制表示的月(01-12)
%M - 十进制表示的分(00-59)
%p - A.M./P.M表示当前12时时间格式的时间
%S - 十进制表示的秒(00-59)
%U - 十进制表示年的周,星期日表示一周的第一天(00-53)
%w - 十进制表示的周几(0-6,星期天是0)
%W - 十进制表示年的周,星期一表示一周的第一天(00-53)
%x - 本地时间的日期
%X - 本地时间的时间
%y - 十进制的不带一世纪的年(00-99)
%Y - 十进制带一世纪的年
COleDateTime time - 一个将要储存字段值的引用变量
bool bValue- 一个将要储存字段值的引用变量
COleCurrency cyValue - 一个将要储存字段值的引用变量

查看示例

CADORecordset::IsFieldNull
IsFieldNull函数测试字段数据是否为空

参数
LPCTSTR lpFieldName - 一个包含字段名称的字符串指针
int nIndex - 一个在记录集的所有字段集中以零为基准,需要查看的索引
返回值
假如字段数据为空,该函数返回TRUE

CADORecordset::IsFieldEmpty
IsFieldEmpty函数测试字段数据是否为空

参数
LPCTSTR lpFieldName - 一个包含字段名称的字符串指针
int nIndex - 一个在记录集的所有字段集中以零为基准,需要查看的索引
返回值
假如字段数据位空该函数返回TRUE

CADORecordset::IsEof

返回值
假如当前位置没有包含任何记录,该函数返回TRUE
查看示例

CADORecordset::IsBof

返回值
假如当前位置是记录的底部,该函数返回TRUE

CADORecordset::MoveFirst
CADORecordset::MoveNext
CADORecordset::MovePrevious
CADORecordset::MoveLast

这些函数使得第一个/下一个/上一个/或者最后个记录集中的记录作为当前记录

查看示例

CADORecordset::GetAbsolutePage
CADORecordset::SetAbsolutePage

表示当前记录在那个页

参数
int nPage - 页基数是1
查看示例

CADORecordset::GetPageCount
GetPageCount返回在一个记录集中页的数量

查看示例

CADORecordset::GetPageSize
CADORecordset::SetPageSize

指示每页有多少记录

参数
int nSize - 设置每页记录的个数
例子

CADORecordset::GetAbsolutePosition
CADORecordset::SetAbsolutePosition

表示当前记录在记录集中的位置

参数
int nPosition - 移动到的记录集位置
GetAbsolutePosition() 会返回记录的位置或者下面中的一个值

CADORecordset::GetFieldInfo
GetFieldInfo返回一个字段的属性

参数
LPCTSTR lpFieldName - 一个包含字段名称的字符串指针
int nIndex - 一个在记录集的所有字段集中以零为基准,需要查看的索引
CAdoFieldInfo* fldInfo - 一个返回的字段属性结构体

CADOFieldInfo类的成员变量m_nType可取如下值中的一个:

  • CADORecordset::typeEmpty
  • CADORecordset::typeTinyInt
  • CADORecordset::typeSmallInt
  • CADORecordset::typeInteger
  • CADORecordset::typeBigInt
  • CADORecordset::typeUnsignedTinyInt
  • CADORecordset::typeUnsignedSmallInt
  • CADORecordset::typeUnsignedInt
  • CADORecordset::typeUnsignedBigInt
  • CADORecordset::typeSingle
  • CADORecordset::typeDouble
  • CADORecordset::typeCurrency
  • CADORecordset::typeDecimal
  • CADORecordset::typeNumeric
  • CADORecordset::typeBoolean
  • CADORecordset::typeError
  • CADORecordset::typeUserDefined
  • CADORecordset::typeVariant
  • CADORecordset::typeIDispatch
  • CADORecordset::typeIUnknown
  • CADORecordset::typeGUID
  • CADORecordset::typeDate
  • CADORecordset::typeDBDate
  • CADORecordset::typeDBTime
  • CADORecordset::typeDBTimeStamp
  • CADORecordset::typeBSTR
  • CADORecordset::typeChar
  • CADORecordset::typeVarChar
  • CADORecordset::typeLongVarChar
  • CADORecordset::typeWChar
  • CADORecordset::typeVarWChar
  • CADORecordset::typeLongVarWChar
  • CADORecordset::typeBinary
  • CADORecordset::typeVarBinary
  • CADORecordset::typeLongVarBinary
  • CADORecordset::typeChapter
  • CADORecordset::typeFileTime
  • CADORecordset::typePropVariant
  • CADORecordset::typeVarNumeric
  • CADORecordset::typeArray

例子

返回值
假如执行成功返回TRUE

CADORecordset::GetChunk
该函数返回所有的,或者部分大文本,二进制数据字段内容

参数
LPCTSTR lpFieldName - 一个包含字段名称的字符串指针
int nIndex - 一个在记录集的所有字段集中以零为基准,需要查看的索引
CString& strValue 一个包含返回数据的字符串指针
LPVOID pData - 一个包含有返回数据的指针
返回值
假如执行成功返回TRUE
查看示例

CADORecordset::AppendChunk
该函数追加数据到一个大的文本或者二进制数据到字段中

参数
LPCTSTR lpFieldName - 一个包含字段名称的字符串指针
int nIndex - 一个在记录集的所有字段集中以零为基准,需要查看的索引
LPVOID lpData - 一个包含要添加数据到字段的指针
UINT nBytes - 一个无符号整形,指示要插入的数据大小
返回值
假如执行成功返回TRUE
例子

CADORecordset::GetString
该函数以字符串的形式返回一个记录

参数
LPCTSTR lpCols - 行分隔符
LPCTSTR lpRows - 列分隔符
LPCTSTR lpNull - NUL值的替代字符串
long numRows - 受影响的列数

CADORecordset::GetLastError
GetLastError函数返回最后一个错误代码

CADORecordset::GetLastErrorString
GetLastErrorString函数返回最后一个错误的字符串

CADORecordset::AddNew
AddNew 函数在一个打开的记录集中添加个一个记录

返回值
执行成功返回TRUE
查看示例

CADORecordset::Edit
Edit函数允许在一个打开的记录集中更改当前的记录

CADORecordset::Delete
Delete函数在一个打开的记录集中删除当前的的记录

返回值
执行成功返回TRUE

CADORecordset::Update
Update函数在当前记录中更新待更新的数据

返回值
执行成功返回TRUE
查看示例

CADORecordset::CancelUpdate
CancelUpdate函数在一个打开的记录集中取消任何待更新的数据

CADORecordset::SetFieldValue
SetFieldValue函数设置一个字段的值

参数
LPCTSTR lpFieldName - 一个包含字段名称的字符串指针
int nIndex - 一个在记录集的所有字段集中以零为基准,需要查看的索引
int nValue - 一个包含字段值的对象指针
long lValue - 一个包含字段值的对象指针
unsigned long lValue - 一个包含字段值的对象指针
double dbValue - 一个包含字段值的对象指针
CString strValue - 一个包含字段值的对象指针
COleDateTime time - 一个包含字段值的对象指针
bool bValue - 一个包含字段值的对象指针
COleCurrency cyValue - 一个包含字段值的对象指针
返回值
执行成功返回TRUE
查看示例
例子

CADORecordset::Find
Find 函数使用比较操作符从当前位置查找一个字符串在一个打开的记录集中的位置

参数
LPCTSTR lpFind - 一个表示用来在记录中查找的字符串
int nSearchDirection - 一个表示操作类型的值,可能取值是:
CADORecordset::searchForward - 向后查找
CADORecordset::searchBackward - 向后查找
返回值
执行成功返回TRUE
例子

CADORecordset::FindFirst
FindFirst函数从记录集起始位置开始查找一个字符串在一个打开的记录集中的所在位置

参数
LPCTSTR lpFind - 一个表示用来在记录中查找的字符串
返回值
执行成功返回TRUE

CADORecordset::FindNext
FindNext 使用类似FindFirst或者Find的操作,从记录集最后位置开始查找一个字符串在一个打开的记录集中的所在位置

返回值
执行成功返回TRUE
查看示例

CADORecordset::GetBookmark
GetBookmark函数获取在其他时间保存的记录位置

返回值
执行成功返回TRUE

CADORecordset::SetBookmark
SetBookmark函数保存当前记录的位置

返回值
执行成功返回TRUE

CADORecordset::SetFilter
SetFilter在一个打开的记录集中设置一个过滤器

参数
LPCTSTR strFilter - 一个由一个或者多个用AND或者OR操作关联在一起的个别从句组成的字符串
返回值
执行成功返回TRUE
例子

CADORecordset::SetSort
SetSort函数在一个CADORecordset对象中为所有的记录设置分类排序

参数
LPCTSTR lpstrCriteria - 一个包含ORDER BY从句SQL语句的字符串
返回值
执行成功返回TRUE

CADORecordset::GetRecordset
GetRecordset函数返回一个指向打开的记录集的指针

CADORecordset::GetActiveConnection
GetActiveConnection返回活动连接

CADORecordset::Clone
Clone函数从一个现有的CADORecordset对象中创建一个完全一样的CADORecordset对象

参数
CADORecordset pAdoRecordset 是一个现有的CADORecordset对象
返回值
执行成功返回TRUE
例子

CADORecordset::SaveAsXML
SaveAsXML 函数保存打开的记录集到一个XML格式的文件中。

参数
LPCTSTR strXMLFile - 一个字符串,指示将保存记录集的完整的路径和文件名
返回值
执行成功返回TRUE

CADORecordset::OpenXML
OpenXML函数打开一个XML文件格式到记录集中。

参数
LPCTSTR strXMLFile - 一个字符串,指示将要打开的完整的路径和文件名的XML文件
返回值
执行成功返回TRUE
例子

//函数声明

CADORecordset::OpenSchema
OpenSchema函数从提供者获取数据库图表信息

参数
int nSchema - 一个指示要图表查询类型的变量
LPCTSTR SchemaID = _T("") - 未被OLE DB定义用于提供者图表查询的GUID

Constant Value Description Constraint Columns
schemaAsserts 0 Returns the assertions defined in the catalog that are owned by a given user.

(ASSERTIONS Rowset )

CONSTRAINT_ CATALOG *
CONSTRAINT_ SCHEMA *
CONSTRAINT_NAME
schemaCatalogs 1 Returns the physical attributes associated with catalogs accessible from the DBMS.

(CATALOGS Rowset )

CATALOG_NAME
schemaCharacterSets 2 Returns the character sets defined in the catalog that are accessible to a given user.

(CHARACTER_SETS Rowset )

CHARACTER_ SET_CATALOG *
CHARACTER_ SET_SCHEMA *
CHARACTER_SET _NAME *
schemaCheckConstraints 5 Returns the check constraints defined in the catalog that are owned by a given user.

(CHECK_CONSTRAINTS Rowset )

CONSTRAINT_ CATALOG *
CONSTRAINT_ SCHEMA *
CONSTRAINT_NAME
schemaCollations 3

Returns the character collations defined in the catalog that are accessible to a given user.

(COLLATIONS Rowset )

COLLATION_ CATALOG *
COLLATION_SCHEMA
COLLATION_NAME
schemaColumnPrivileges 13

Returns the privileges on columns of tables defined in the catalog that are available to, or granted by, a given user.

(COLUMN_PRIVILEGES Rowset )

TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
GRANTOR
GRANTEE
schemaColumns 4

Returns the columns of tables (including views) defined in the catalog that are accessible to a given user.

(COLUMNS Rowset )

TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
schemaColumnsDomainUsage 11 Returns the columns defined in the catalog that are dependent on a domain defined in the catalog and owned by a given user.

(COLUMN_DOMAIN_USAGE Rowset )

DOMAIN_CATALOG
DOMAIN_SCHEMA
DOMAIN_NAME
COLUMN_NAME
schemaConstraintColumnUsage 6 Returns the columns used by referential constraints, unique constraints, check constraints, and assertions, defined in the catalog and owned by a given user.

(CONSTRAINT_COLUMN_USAGE Rowset )

TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
schemaConstraintTableUsage 7 Returns the tables that are used by referential constraints, unique constraints, check constraints, and assertions defined in the catalog and owned by a given user.

(CONSTRAINT_TABLE_USAGE Rowset )

TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
schemaCubes 32 Returns information about the available cubes in a schema (or the catalog, if the provider does not support schemas).

(CUBES Rowset* )

CATALOG_NAME
SCHEMA_NAME
CUBE_NAME
schemaDBInfoKeywords 30 Returns a list of provider-specific keywords.

(IDBInfo::GetKeywords* )

<None>
schemaDBInfoLiterals 31 Returns a list of provider-specific literals used in text commands.

(IDBInfo::GetLiteralInfo* )

<None>
schemaDimensions 33 Returns information about the dimensions in a given cube. It has one row for each dimension.

(DIMENSIONS Rowset* )

CATALOG_NAME
SCHEMA_NAME
CUBE_NAME
DIMENSION_NAME
DIMENSION_ UNIQUE_NAME *
schemaForeignKeys 27 Returns the foreign key columns defined in the catalog by a given user.

(FOREIGN_KEYS Rowset )

PK_TABLE_CATALOG
PK_TABLE_SCHEMA
PK_TABLE_NAME
FK_TABLE_CATALOG
FK_TABLE_SCHEMA
FK_TABLE_NAME
schemaHierarchies 34 Returns information about the hierarchies available in a dimension.

(HIERARCHIES Rowset* )

CATALOG_NAME
SCHEMA_NAME
CUBE_NAME
DIMENSION_ UNIQUE_NAME *
HIERARCHY_NAME
HIERARCHY_ UNIQUE_NAME *
schemaIndexes 12 Returns the indexes defined in the catalog that are owned by a given user.

(INDEXES Rowset )

TABLE_CATALOG
TABLE_SCHEMA
INDEX_NAME
TYPE
TABLE_NAME
schemaKeyColumnUsage 8 Returns the columns defined in the catalog that are constrained as keys by a given user.

(KEY_COLUMN_USAGE Rowset )

CONSTRAINT_ CATALOG *
CONSTRAINT_ SCHEMA *
CONSTRAINT_NAME
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
schemaLevels 35 Returns information about the levels available in a dimension.

(LEVELS Rowset* )

CATALOG_NAME
SCHEMA_NAME
CUBE_NAME
DIMENSION_ UNIQUE_NAME *
HIERARCHY_ UNIQUE_NAME *
LEVEL_NAME
LEVEL_ UNIQUE_NAME *
schemaMeasures 36 Returns information about the available measures.

(MEASURES Rowset* )

CATALOG_NAME
SCHEMA_NAME
CUBE_NAME
MEASURE_NAME
MEASURE_ UNIQUE_NAME *
schemaMembers 38 Returns information about the available members.

(MEMBERS Rowset* )

CATALOG_NAME
SCHEMA_NAME
CUBE_NAME
DIMENSION_ UNIQUE_NAME *
HIERARCHY_ UNIQUE_NAME *
LEVEL_ UNIQUE_NAME *
LEVEL_NUMBER
MEMBER_NAME
MEMBER_UNIQUE _NAME *
MEMBER_CAPTION
MEMBER_TYPE
Tree operator (For more information, see the OLE DB for OLAP documentation.)
schemaPrimaryKeys 28 Returns the primary key columns defined in the catalog by a given user.

(PRIMARY_KEYS Rowset )

PK_TABLE_CATALOG
PK_TABLE_SCHEMA
PK_TABLE_NAME
schemaProcedureColumns 29 Returns information about the columns of rowsets returned by procedures.

(PROCEDURE_COLUMNS Rowset )

PROCEDURE_ CATALOG *
PROCEDURE_SCHEMA
PROCEDURE_NAME
COLUMN_NAME
schemaProcedureParameters 26 Returns information about the parameters and return codes of procedures.

(PROCEDURE_PARAMETERS Rowset )

PROCEDURE_ CATALOG *
PROCEDURE_SCHEMA
PROCEDURE_NAME
PARAMETER_NAME
schemaProcedures 16 Returns the procedures defined in the catalog that are owned by a given user.

(PROCEDURES Rowset )

PROCEDURE_ CATALOG *
PROCEDURE_SCHEMA
PROCEDURE_NAME
PROCEDURE_TYPE
schemaProperties 37 Returns information about the available properties for each level of the dimension.

(PROPERTIES Rowset* )

CATALOG_NAME
SCHEMA_NAME
CUBE_NAME
DIMENSION_ UNIQUE_NAME *
HIERARCHY_ UNIQUE_NAME *
LEVEL_ UNIQUE_NAME *
MEMBER_ UNIQUE_NAME *
PROPERTY_TYPE
PROPERTY_NAME
schemaProviderSpecific -1 Used if the provider defines its own nonstandard schema queries. <Provider specific>
schemaProviderTypes 22 Returns the (base) data types supported by the data provider.

(PROVIDER_TYPES Rowset )

DATA_TYPE
BEST_MATCH
schemaReferentialConstraints 9 Returns the referential constraints defined in the catalog that are owned by a given user.

(REFERENTIAL_CONSTRAINTS Rowset )

CONSTRAINT_ CATALOG *
CONSTRAINT_ SCHEMA *
CONSTRAINT_NAME
schemaSchemata 17 Returns the schemas (database objects) that are owned by a given user.

(SCHEMATA Rowset )

CATALOG_NAME
SCHEMA_NAME
SCHEMA_OWNER
schemaSQLLanguages 18 Returns the conformance levels, options, and dialects supported by the SQL-implementation processing data defined in the catalog.

(SQL_LANGUAGES Rowset )

<None>
schemaStatistics 19 Returns the statistics defined in the catalog that are owned by a given user.

(STATISTICS Rowset )

TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
schemaTableConstraints 10 Returns the table constraints defined in the catalog that are owned by a given user.

(TABLE_CONSTRAINTS Rowset )

CONSTRAINT_ CATALOG *
CONSTRAINT_ SCHEMA *
CONSTRAINT_NAME
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
CONSTRAINT_TYPE
schemaTablePrivileges 14 Returns the privileges on tables defined in the catalog that are available to, or granted by, a given user.

(TABLE_PRIVILEGES Rowset )

TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
GRANTOR
GRANTEE
schemaTables 20 Returns the tables (including views) defined in the catalog that are accessible to a given user.

(TABLES Rowset )

TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
TABLE_TYPE
schemaTranslations 21 Returns the character translations defined in the catalog that are accessible to a given user.

(TRANSLATIONS Rowset )

TRANSLATION_ CATALOG *
TRANSLATION_ SCHEMA *
TRANSLATION _NAME *
schemaTrustees 39 Reserved for future use.  
schemaUsagePrivileges 15 Returns the USAGE privileges on objects defined in the catalog that are available to, or granted by, a given user.

(USAGE_PRIVILEGES Rowset )

OBJECT_CATALOG
OBJECT_SCHEMA
OBJECT_NAME
OBJECT_TYPE
GRANTOR
GRANTEE
schemaViewColumnUsage 24 Returns the columns on which viewed tables, defined in the catalog and owned by a given user, are dependent.

(VIEW_COLUMN_USAGE Rowset )

VIEW_CATALOG
VIEW_SCHEMA
VIEW_NAME
schemaViews 23 Returns the views defined in the catalog that are accessible to a given user.

(VIEWS Rowset )

TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
schemaViewTableUsage 25 Returns the tables on which viewed tables, defined in the catalog and owned by a given user, are dependent.

(VIEW_TABLE_USAGE Rowset )

VIEW_CATALOG
VIEW_SCHEMA
VIEW_NAME

返回值
执行成功返回TRUE
例子

//函数声明

CADORecordset::Requery
Requery函数重新刷新一个打开记录集

返回值
执行成功返回TRUE
示例01
 

CADOParameter类
CADOParameter类封装了一套_ParameterPtr智能指针相关的函数

CADOParameter::CADOParameter
创建一个CADOParameter对象

参数
int nType - 一个指定的CADOParameter对象数据类型整形变量。可以取CADORecordset::GetFieldInfo中一个指定值。假如您使用CADORecordset::typeNumeric 或者CADORecordset::typeDecimal,您必须定义精确度和刻度值
long lSize = 0 - 一个可选的长整形,指定了参数值最大的字节或者字符长度
int nDirection = paramInput - 一个可选的整型值,指定了CADOParameter对象的用途。可以取以下值之一:
CADOParameter::paramUnknown - 表明参数用途未知
CADOParameter::paramInput - 默认值,表明参数做为输入参数
CADOParameter::paramOutput - 表明参数作为输出参数
CADOParameter::paramInputOutput - 表明参数同时作为输入输出参数
CADOParameter::paramReturnValue - 表明参数作为一个返回值
CString strName = _T("") - 一个可选字符串,指定了CADOParameter实例名称
查看示例

CADOParameter::SetValue
SetValue 设置CADOParameter对象的值

参数
* int nValue - 一个包含参数值的整形
* long lValue - 一个包含参数值的长整形
* double dbValue - 一个包含参数值的双精度浮点数
* CString strValue - 一个包含参数值的字符串
* COleDateTime time - 一个包含参数值的时间
* _variant_t vtValue - 一个包含参数值的变体变量
返回值
执行成功返回TRUE
查看示例

CADOParameter::SetPrecision
SetPrecision函数设置CADOParameter对象对象的精度

CADOParameter::SetScale
SetScale 函数设置CADOParameter对象对象的刻度

CADOParameter::GetValue
GetValue函数返回CADOParameter对象对象的值

参数
* int& nValue - 一个将要储存参数值的整形引用
* long& lValue - 一个将要储存参数值的长整形引用
* double& dbValue - 一个将要储存参数值的双精度浮点数引用
* CString& strValue - 一个将要储存参数值的字符串引用
* CString strDateFormat = _T("") - 一个格式化字符串,类似strftime格式化的字符串
* COleDateTime& time - 一个将要储存参数值的时间引用
* _variant_t& vtValue - 一个将要储存参数值的变体变量引用
返回值
执行成功返回TRUE
查看示例

CADOParameter::SetName
SetName函数设置CADOParameter对象名称

参数
CString strName - 一个指定参数名字的字符串

CADOParameter::GetName
GetName函数返回CADOParameter对象名称

CADOCommand::GetType
GetType函数返回CADOParameter对象的类型

CADOParameter::GetParameter
GetParameter函数返回一个_Parameter对象指针

CADOCommand 类
CADOCommand类封装了一个套_CommandPtr智能指针相关的函数

CADOCommand::CADOCommand
创建一个CADOCommand对象

参数
CADODatabase* pAdoDatabase - 一个CADODatabase对象指针
CString strCommandText = _T("") - 一个可选的字符串,指出CADOCcommand对象的标题
int nCommandType = typeCmdStoredProc - 一个可选的整形,指出CADOCommand对象的类型。可取一下值中的一个:
CADOCommand::typeCmdText - 检测CommandText作为一个定义的命令文本或者存储过程来调用
CADOCommand::typeCmdTable - 检测CommandText作为一个表名称,使用一个内部生成的SQL查询返回所有的行
CADOCommand::typeCmdTableDirect - 检测CommandText作为一个返回全部行的表名称
CADOCommand::typeCmdStoredProc - 默认值,检测CommandText作为存储过程
CADOCommand::typeCmdUnknown - 指出CommandText内容的类型是未知的
CADOCommand::typeCmdFile - 检测CommandText作为一个不断被储存记录集的文件名。只能在Recordset.Open或者Requery使用
查看示例

CADOCommand::AddParameter
AddParameter 函数

参数
CADOParameter* pAdoParameter - 一个指向CADOParameter对象的指针
CString strName - 一个字符串,指出参数的名称
int nType - 一个整形值,指出CADOParameter对象的数据类型,可以取在CADORecordset::GetFieldInfo中指定的一个值。假如您使用CADORecordset::typeNumeric或者CADORecordset::typeDecimal,您必须定义了精度和刻度值。
int nDirection - 一个整形变量,指出CADOParameter对象的用途,可以取在CADOParameter::CADOParameter中指定的一个值
long lSize - 一个长整形,指出参数值的最大的字节或者字符长度
int nValue - 一个包含参数值的整形值
long lValue - 一个包含参数值的长整形值
double dblValue - 一个包含参数值的双精度浮点值
int nPrecision - 一个包含参数值的精度的整形值
int nScale - 一个包含参数值的比例的整形值
CString strValue - 一个包含参数值的字符串
COleDateTime time - 一个包含参数值的时间值
_variant_t vtValue - 一个包含参数值的变体变量值
返回值
执行成功返回TRUE

查看示例

CADOCommand::SetText
SetText函数设置CADOCommand对象的命令文本

参数
CString strCommandText - 一个字符串,指出命令的文本

CADOCommand::GetText
GetText函数返回CADOCommand对象的命令文本

CADOCommand::SetType
SetType函数设置CADOCommand对象的类型

参数
int nCommandType - 一个整形值,指出命令的类型

CADOCommand::GetType
GetType函数返回CADOCommand对象的类型

CADOCommand::GetCommand
GetCommand函数返回一个Command指针

CADOCommand::Execute
Execute 函数执行命令的文本

返回值
执行成功返回TRUE

CADOCommand::GetRecordsAffected
GetRecordsAffected函数返回最后个命令执行后影响的记录个数

示例02

CJectEngine类
CJectEngine类封装了一套_RecordsetPtr智能指针相关的函数

CJetEngine::CompactDatabase
压缩一个Access 数据库

参数
CString strDatabaseSource - 一个源数据库连接字符串
CString strDatabaseDestination - 一个目的数据库连接字符串
注:
连接字符串必须是这样的:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/the Database Path"
返回值
执行成功返回TRUE
例子

CADOException类
CADOException类表示异常情况,该类包含的公共数据成员可以用来确定异常的原因

CADOException::CADOException
创建一个CADOException对象

检索ADO错误信息
构建一个CADOException 对象
通过异常对象,调用任何异常对象的GetErrorMesaage或者GetError 成员函数来检索关于这个错误的信息
例子

CADOException::GetErrorMessage

返回值
返回错误的描述
查看示例

CADOException::GetError

返回值
返回错误代码

CADOException::SetError

参数
long lErrorCode = 0 - 一个包含错误代码的长整形值
LPCSTR lpstrError = _T("") - 一个包含错误描述的字符串

COLEDBDataLink类
COLEDBDataLink 类是一个工具类,用来创建和编辑数据链

COLEDBDataLink::COLEDBDataLink
创建一个COLEDBDataLink 对象

COLEDBDataLink::New

参数
HWND hWnd = NULL - 父窗口句柄
返回值
返回一个字符串告之相应的连接字符串创建的连接
查看示例

COLEDBDataLink::Edit

参数
LPCSTR lpstrConnectionString
HWND hWnd - 父窗口句柄
例子

COLEDBException类
COLEDBException 类表示异常情况,该类包含的公共数据成员可以用来确定异常的原因

OLEDBException::COLEDBException
创建一个COLEDBException对象

检索ODEDB错误信息
构建一个COLEDBException 对象
通过异常对象,调用任何异常对象的GetErrorMesaage或者GetError 成员函数来接收关于这个错误的信息
例子

OLEDBException::GetErrorMessage

返回值
返回错误的描述
查看示例

OLEDBException::GetError

返回值
返回错误代码

OLEDBException::SetError

参数
long lErrorCode = 0 - 一个包含错误代码的长整形值
LPCSTR lpstrError = _T("") - 一个包含错误描述的字符串

常见问题

如何把CADORecordset与微软的DataGrid控件进行绑定;

第一:您需要添加微软的DataGrid控件到您的程序中
第二:用CADORecordset::GetRecordset函数申请来给数据控件类的SetRefDataSource 函数使用

涉及到如何添加一个数据控件(微软DataGrid控件)到您的工程中,请参阅拉希德Thadha的这篇文章

我该如何重新排序记录集?

这个问题很简单,您使用_RecordsetPtr的部分函数和属性。使用CADORecordset::GetRecordset(),您会获得一个_RecordsetPtr指针,您可以使用它来设置Sort属性
注:您不必使用_RecordsetPtr::Refresh()

现在:您就使用CADORecordset::SetSort()函数。

致命错误C1010:意外的文件尾在查找编译头指令

为了解决这个常见问题,您需要使用自动使用编译头。选择工程/设置 (或者 ALT+F7键),在工程设置对话框,选择C/C++书签页,然后在组合框中选择预编译头一项,并选择自动使用编译头选项。

在SQL Server中您如何获取您的存储过程返回码
您必须使用CADOParameter 类,CADOParameter::paramReturnValue获取转存过程的返回值,它总是必定是一个整形,必须在参数列表的第一个位置。假如您不使用参数来输入或者输出,那么您只需要使用这个参数
查看示例

我尝试使用CADOCommand 类并能进入UUID 字段,但迄今为止我没有成功过。您能抽空为此写个例子吗?

您说的是uniqueidentifier 类型的字段吗?好的,这个问题如下:
首先您更新表使用SQL语句的NEWID()。这个命令将为你做一个独一无二的字符串如"{B6B83A8C-F92C-4FA7-9641-631143E6056C}"。想要插入数据到字段的类型中,您必须使用类似的字符串。最后,我们可以说:您应该使用带有GUID格式字符串参数类型。它必须是唯一的。是不是有很多条件!!!
不过,我写了一个示例,在下面的示例中,您会看到我使用了UUID作为字符串参数。您还看见转存过程的参数是uniqueidentifier类型的。

ADO与ADOX在一起

我每天收到几个邮件问我如何是使用ADO与ADOX类一起工作。答案是,现在现在从ADO2.10版本后,您可以使用两种类型类一起工作。您必须包含每个类头文件和CPP文件,然后在该项目中包含头文件
注意
证实包含头文件必须按如下顺序是很重要的,首先是ADOX类头文件,然后才是ADO类头文件。

Carlos A. Antollini.

更新

25 Apr 2001 - 1.0版本发布

20 May 2001 - 1.1版本
添加了如下函数
AbsolutePage, GetPageCount, PageSize, AbsolutePosition, GetFieldInfo, GetChunk, GetString.

29-Jun-2001 - 1.2版本
添加了如下函数
AddNew, Edit, Delete, Update, CancelUpdate, SetFieldValue, Find, FindFirst, FindNext, SetBookmark, GetBookmark.

29-Sept-2001 - 1.25版本
添加对SQL Server2000的支持
修正Robert Pittenger报告的空字段bug

10-Oct-2001 - 1.30版本
修正ugGiles Forster 和 Rainer Mangold
报告的SetFieldValue 中空字段bug
添加数据枚举类型

05-Nov-2001 - 版本1.37
CADORecodset更新能添加绑定到DataGrid的功能
添加GetLastErrorString 函数和改变GetLastError函数返回的数据类型
添加Clone和SetFilter函数(应Marcel Stoica的要求)

15-Jan-2002 - 1.40版本
添加Giles Forster写的GetChunk和AppendChunk函数

15-Feb-2002 - 1.45版本
修正J. C. Martinez Gal?n 报告的十进制字段的bug
添加XML支持

04-Apr-2002 - 2.00版本
添加CADOParameter 和 CADOCommand类

14-May-2002 - 2.01版本
在CADORecordset::GetFieldValue和CADORecordset::SetFieldValue添加COleCurrency和bool

25-July-2002 - 2.04版本
添加CADODatabase::GetRecordsAffcetd, CADOCommand::GetRecordsAffected, CADOCommand::Execute, CADOParameter::SetPrecision, CADOParamater::SetScale和修正CADOCommand::AddParameter中的bug

2-July-2003 - 2.10 版本
添加与ADOX类一起使用的时候兼容性(应很多人的要求)
添加Added CADODatabase::SetConnectionMode, CADORecordset::OpenSchema
添加CJetEngine::CCompactDatabase

2-October-2003 - 2.11版本
Jan Stocker修复在CADOCommand中的内存泄露

08-August-2004 - 创建了COLEDBDataLink 1.01版本
创建COLEDBDataLink 类,并添加到了ADO类中

10-Februry-2005 - 2.15版本
添加了CADOException 类

特别感谢
这些类受到了很多用户的建议,非常感谢您们的合作
* Rainer Mangold
* Christian Graus
* Mike Osbahr
* Francis BONTHOUX
* Spiros Prantalos
* Robert Pittenger
* Giles Forster
* Rob Sandhu
* Marcel Stoica
* Daniel Berman
* Jan Stocker
* And tons of people requesting for new versions.

许可
这篇文章,以及任何相关源代码和文件,授权见The Microsoft Public License (Ms-PL)

关于作者
Carlos Antollini 是一个软件工程师,致力于面向对象,Visual C++, MFC, COM, ATL, ADO,互联网技术和商业智能工作
Carlos来自阿根廷,住在劳德代尔堡,佛罗里达州,为花旗银行工作多年。然后他开始了他的事业。
Carlos是"http://www.piFive.com">piFive["_blank" title="piFive" href="http://www.piFive.com">^]创作者,一家商业智能分析平台软件,它涉及到未来"http://www.latinsys.com">latinsys["_blank" title="latinsys" href="http://www.latinsys.com">^],他的合伙人企业
目前他在花旗集团分享项目管理和BI热情
工作:设计师
公司名称:花旗集团
国籍:阿根廷

猜你喜欢

转载自blog.csdn.net/zyq5945/article/details/5612543
今日推荐