使用ADO封装类的数据库程序开发实例[第二版](上)
2008-04-19 20:27:48 来源:WEB开发网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);
把变体型变量转换成其他类型变量.
更多精彩
赞助商链接