WEB开发网
开发学院软件开发VC 使用ADO封装类的数据库程序开发实例[第二版](上) 阅读

使用ADO封装类的数据库程序开发实例[第二版](上)

 2008-04-19 20:27:48 来源:WEB开发网   
核心提示:State 属性:long CAdoConnection::GetState()取得对象的状态(同 Recordset 对象的 GetState 方法).returns: 返回下列常量之一的长整型值(连接对象一般为下面两种状态之一). [常量] [说明

State 属性:

long CAdoConnection::GetState()

取得对象的状态(同 Recordset 对象的 GetState 方法).

returns: 返回下列常量之一的长整型值(连接对象一般为下面两种状态之一).

[常量] [说明]
adStateClosed 指示对象是关闭的.
adStateOpen 指示对象是打开的.

Remarks: 可以随时使用 State 属性取得指定对象的当前状态.

Mode 属性:

ConnectModeEnum CAdoConnection::GetMode()

BOOL CAdoConnection::SetMode(ConnectModeEnum mode)

设置或取得在 Connection 对象中修改数据的可用权限.

returns: 返回以下某个 ConnectModeEnum 的值.

[常量] [说明]
adModeUnknown 默认值. 表明权限尚未设置或无法确定.
adModeRead 表明权限为只读.
adModeWrite 表明权限为只写.
adModeReadWrite 表明权限为读/写.
adModeShareDenyRead 防止其他用户使用读权限打开连接.
adModeShareDenyWrite 防止其他用户使用写权限打开连接.
adModeShareExclusive 防止其他用户打开连接.
adModeShareDenyNone 防止其他用户使用任何权限打开连接.

Remarks: 使用 Mode 属性可设置或返回当前连接上提供者正在使用的访问权限. 只能在关闭 Connection 对象时方可设置 Mode 属性.

OpenSchema 方法:

_RecordsetPtr CAdoConnection::OpenSchema(SchemaEnum QueryType)

从数据源获取数据库信息.

Params: [QueryType]: 所要运行的模式查询类型, 下面列出一些较常用的类型及返回的表中多条字段中主要的字段名.

adSchemaAsserts CONSTRAINT_NAME
adSchemaCatalogs CATALOG_NAME
adSchemaCharacterSets CHARACTER_SET_NAME
adSchemaCheckConstraints CONSTRAINT_NAME
adSchemaCollations COLLATION_NAME
adSchemaColumnDomainUsage DOMAIN_NAME
  COLUMN_NAME
adSchemaColumnPrivileges TABLE_NAME
  COLUMN_NAME
  GRANTOR
  GRANTEE
adSchemaColumns TABLE_NAME
  COLUMN_NAME
adSchemaConstraintColumnUsage TABLE_NAME
  COLUMN_NAME
adSchemaConstraintTableUsage TABLE_NAME
adSchemaForeignKeys PK_TABLE_NAME
  FK_TABLE_CATALOG
  FK_TABLE_SCHEMA
  FK_TABLE_NAME
adSchemaIndexes INDEX_NAME
  TYPE
  TABLE_NAME
adSchemaKeyColumnUsage CONSTRAINT_NAME
  TABLE_CATALOG
  TABLE_SCHEMA
  TABLE_NAME
  COLUMN_NAME
adSchemaPrimaryKeys PK_TABLE_NAME
adSchemaProcedureColumns PROCEDURE_NAME
  COLUMN_NAME
adSchemaProcedureParameters PROCEDURE_NAME
  PARAMTER_NAME
adSchemaProcedures PROCEDURE_NAME
  PROCEDURE_TYPE
adSchemaProviderSpecific 参见说明
adSchemaProviderTypes DATA_TYPE
  BEST_MATCH
adSchemaReferentialConstraints CONSTRAINT_NAME
adSchemaSchemata SCHEMA_OWNER
adSchemaSQLLanguages <无>
adSchemaStatistics TABLE_NAME
adSchemaTableConstraints CONSTRAINT_NAME
  TABLE_CATALOG
  TABLE_SCHEMA
  TABLE_NAME
  CONSTRAINT_TYPE
adSchemaTablePrivileges TABLE_NAME
  GRANTOR
  GRANTEE
adSchemaTables TABLE_NAME
  TABLE_TYPE
adSchemaTranslations TRANSLATION_NAME
adSchemaUsagePrivileges OBJECT_NAME
  OBJECT_TYPE
  GRANTOR
  GRANTEE
adSchemaViewColumnUsage VIEW_NAME
adSchemaViewTableUsage VIEW_NAME
adSchemaViews VIEW_NAME

returns: 返回包含数据库信息的 Recordset 对象. Recordset 将以只读、静态游标打开.

Remarks: OpenSchema方法返回与数据源有关的信息, 例如关于服务器上的表以及表中的列等信息, 上述数据仅供参考, 视具体的数据源可能会有不同.

Trans 相关方法:

long CAdoConnection::BeginTrans()

BOOL CAdoConnection::CommitTrans()

BOOL CAdoConnection::RollbackTrans()

BeginTrans - 开始新事务.

CommitTrans - 保存任何更改并结束当前事务.它也可能启动新事务.

RollbackTrans - 取消当前事务中所作的任何更改并结束事务. 它也可能启动新事务.

一旦调用了 BeginTrans 方法, 在调用 CommitTrans 或 RollbackTrans 结束事务之前, 数据库将不再立即提交所作的任何更改.

对于支持嵌套事务的数据库来说, 在已打开的事务中调用 BeginTrans 方法将开始新的嵌套事务. 返回值将指示嵌套层次: 返回值为 1 表示已打开顶层事务(即事务不被另一个事务所嵌套), 返回值为 2 表示已打开第二层事务(嵌套在顶层事务中的事务), 依次类推. 调用 CommitTrans 或 RollbackTrans 只影响最新打开的事务;在处理任何更高层事务之前必须关闭或回卷当前事务.

调用 CommitTrans 方法将保存连接上打开的事务中所做的更改并结束事务. 调用 RollbackTrans方法还原打开事务中所做的更改并结束事务. 在未打开事务时调用其中任何一种方法都将引发错误.

// 数值类型转换 -----------------------------------
COleDateTime vartodate(const _variant_t& var);
COleCurrency vartocy(const _variant_t& var);
bool vartobool(const _variant_t& var);
BYTE vartoby(const _variant_t& var);
short vartoi(const _variant_t& var);
long vartol(const _variant_t& var);
double vartof(const _variant_t& var);
CString vartostr(const _variant_t& var);

把变体型变量转换成其他类型变量.

上一页  1 2 3 

Tags:使用 ADO 封装

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接