VC下的ADO编程入门(2-1) [选择自 callzjy 的 Blog]
2005-05-23 08:20
405 查看
在正式进入ADO编程之旅前,我们先来熟悉一下Connection Command Recordset三个重要对象的一些重要方法,这样在今后写ADO代码时,给方法传递正确的参数,Let's go
Connection方法
HRESULT Open ( _bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long Options )
参数
1. ConnectionString 可选,包含连接信息
2. UserID 可选,包含建立连接时所使用的用户名称
3. Password 可选,包含建立连接时所用密码
4. OpenOptions 可选,ConnectOptionEnum 值。如果设置为 adConnectAsync,则异步打开连接。adConnectUnspecified为默认选项,表示同步打开连接
_RecordsetPtr Execute ( _bstr_t CommandText, VARIANT * RecordsAffected, long Options )
参数
1. CommandText是命令字符串,通常是SQL命令,也可以是表名、存储过程等
2. RecordsAffected 可选,是操作完成后所影响的行数
3. Options 可选,解释CommandText参数的方式,Options可以是CommandTypeEnum或ExecuteOptionEnum枚举类型值
Command方法
_ RecordsetPtr Execute (VARIANT * RecordsAffected, VARIANT * Parameters,long Options)
参数
1. RecordsAffected 可选,返回受操作影响的记录数
2. Parameters 可选,包含所使用的具体参数,是一个VARIANT 类型数组
3. Options可选,指示提供程序如何解释CommandText属性,请参见Connection对象的Execute 方法
ParameterPtr
CreateParameter(_bstr_t Nmae,enum DataTypeEnum Type,enum
ParameterDirectionEnum Direction,ADO_LONGPTR size,const _variant_t
&value)
Recordset方法
HRESULT Open ( const _variant_t & Source, const _variant_t & ActiveConnection, enum CursorTypeEnum CursorType, enum LockTypeEnum LockType, long Options )
参数
1. Source可选,指定记录集的源,可以是命令对象,SQL语句,表,存储过程等
2. ActiveConnection可选,可以是一个已经建立好的连接对象(我们需要用Connection对象指针来构造一个_variant_t对象) 或是一个包含连接信息的字符串
3. CursorType可选,游标类型,它可以是以下值之一,请看CursorTypeEnum这个枚举结构:
4. LockType锁定类型,它可以是以下值之一,请看LockTypeEnum这个枚举结构:
5. Options请参考本文中对Connection对象或Command对象的Execute方法的介绍
HRESULT Move (ADO_LONGPTR NumRecords,const _variant_t &start)
n adBookmarkCurrent
n adBookmardFirst
n adBookmarkLast
_RecordsetPtr NextRecordset(VARIANT *RecordsAffected)
HRESULT AddNew(const _varinat_t & FieldList,const _variant_t &values)
HRESULT Delete(enum AffectedEnum AffectRecords)
n adAffectCurrent
n adAffectGroup
n adAffectAll
HRESULT Update(const _variant_t &Fields,const _variant_t &values)
_variant_t GetRows(long Rows,const _variant_t &start,const _variant_t & Fields)
HRESULT Requery(long Options)
Connection方法
HRESULT Open ( _bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long Options )
参数
1. ConnectionString 可选,包含连接信息
2. UserID 可选,包含建立连接时所使用的用户名称
3. Password 可选,包含建立连接时所用密码
4. OpenOptions 可选,ConnectOptionEnum 值。如果设置为 adConnectAsync,则异步打开连接。adConnectUnspecified为默认选项,表示同步打开连接
_RecordsetPtr Execute ( _bstr_t CommandText, VARIANT * RecordsAffected, long Options )
参数
1. CommandText是命令字符串,通常是SQL命令,也可以是表名、存储过程等
2. RecordsAffected 可选,是操作完成后所影响的行数
3. Options 可选,解释CommandText参数的方式,Options可以是CommandTypeEnum或ExecuteOptionEnum枚举类型值
类型 | 说明 |
adCmdUnspecifed=-1 | 未描述CommandType属性 |
adCmdText=1 | 指示提供者应将 CommandText 赋值为命令的文本定义。 |
adCmdTableDirect | 指示提供者应从 CommandText 命名的表中返回所有行。 |
adCmdTable=2 | 指示提供者应将 CommandText 赋值为表名。 |
adCmdStoredProc=4 | 指示提供者应将 CommandText 赋值为存储过程。 |
adCmdUnknown=8 | 指示 CommandText 参数中的命令类型未知。 |
adExecuteAsync | 指示命令应该异步执行。 |
adFetchAsync | 指示 CacheSize 属性指定的初始数量之后的行应异步提取。 |
Command方法
_ RecordsetPtr Execute (VARIANT * RecordsAffected, VARIANT * Parameters,long Options)
参数
1. RecordsAffected 可选,返回受操作影响的记录数
2. Parameters 可选,包含所使用的具体参数,是一个VARIANT 类型数组
3. Options可选,指示提供程序如何解释CommandText属性,请参见Connection对象的Execute 方法
ParameterPtr
CreateParameter(_bstr_t Nmae,enum DataTypeEnum Type,enum
ParameterDirectionEnum Direction,ADO_LONGPTR size,const _variant_t
&value)
Recordset方法
HRESULT Open ( const _variant_t & Source, const _variant_t & ActiveConnection, enum CursorTypeEnum CursorType, enum LockTypeEnum LockType, long Options )
参数
1. Source可选,指定记录集的源,可以是命令对象,SQL语句,表,存储过程等
2. ActiveConnection可选,可以是一个已经建立好的连接对象(我们需要用Connection对象指针来构造一个_variant_t对象) 或是一个包含连接信息的字符串
3. CursorType可选,游标类型,它可以是以下值之一,请看CursorTypeEnum这个枚举结构:
枚举值 | 说明 |
adOpenUnspecified = -1 | 不作特别指定 |
adOpenForwardOnly = 0 | 向前滚静态游标。这种游标只能向前浏览记录集,比如用MoveNext向前滚动,这种方式可以提高浏览速度。但诸如BookMark,RecordCount,AbsolutePosition,AbsolutePage都不能使用 |
adOpenKeyset = 1 | 采用这种游标的记录集看不到其它用户的新增、删除操作,但对于更新原有记录的操作对你是可见的。 |
adOpenDynamic = 2 | 动态游标。所有数据库的操作都会立即在各用户记录集上反应出来。 |
adOpenStatic = 3 | 静态游标。它为你的记录集产生一个静态备份,但其它用户的新增、删除、更新操作对你的记录集来说是不可见的。 |
枚举值 | 说明 |
adLockUnspecified = -1 | 未指定 |
adLockReadOnly = 1 | 只读记录集 |
adLockPessimistic = 2 | 悲观锁定方式。数据在更新时锁定其它所有动作,这是最安全的锁定机制 |
adLockOptimistic = 3 | 乐观锁定方式。只有在你调用Update方法时才锁定记录。在此之前仍然可以做数据的更新、插入、删除等动作 |
adLockBatchOptimistic = 4 | 乐观分批更新。编辑时记录不会锁定,更改、插入及删除是在批处理模式下完成。 |
HRESULT Move (ADO_LONGPTR NumRecords,const _variant_t &start)
n adBookmarkCurrent
n adBookmardFirst
n adBookmarkLast
_RecordsetPtr NextRecordset(VARIANT *RecordsAffected)
HRESULT AddNew(const _varinat_t & FieldList,const _variant_t &values)
HRESULT Delete(enum AffectedEnum AffectRecords)
n adAffectCurrent
n adAffectGroup
n adAffectAll
HRESULT Update(const _variant_t &Fields,const _variant_t &values)
_variant_t GetRows(long Rows,const _variant_t &start,const _variant_t & Fields)
HRESULT Requery(long Options)
相关文章推荐
- VC下的ADO编程入门(2-3)
- VC-----ADO数据库编程入门
- VC下的ADO编程入门(2-4)
- 【转】VC++ ADO编程入门简介
- VC++ ADO编程入门简介
- VC++ ADO编程入门简介
- vc使用ADO操作数据库总结 选择自 CDrea 的 Blog
- 在VC下使用ADO连接数据库编程入门
- VC 数据库编程 ADO入门
- VC下的ADO编程入门(2-4)
- VC下的ADO编程入门(1)
- VC++ ADO编程入门简介
- VC下的ADO编程入门(2-2)
- vc(ado编程小结)
- ASP编程入门进阶(二十):ADO组件之查询数据记录
- ADO数据库编程入门
- ASP编程入门进阶(二十):ADO组件之查询数据记录
- VC中数据库--ADO编程
- PowerDesign9.5+ 中的GTL编程 解决大问题 选择自 ZhangJianshe 的 Blog
- vc 界面编程常用方法(http://blog.emuch.net/244485/spacelist-blog-itemtypeid-2708.html)