




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
:首页 文档中心 在线杂志 ADO 在线杂志 第21期 窗体顶端 原创文档 本文适合中级读者 已阅读55544次 窗体底端使用ADO封装类的数据库程序开发实例第二版 (上)作者:成真 下载本文示例工程从上次在VC知识库发表使用ADO封装类的数据库程序开发实例一文后,得到许多网友的响应,甚觉欣慰。但由于我对ADO也非完全精通,所以上次写的类很不完美,甚至可能给某些朋友带来麻烦,因此一直想把它写得更完善一点。现在写的这个类功能应该说比较完善了,基本上封装了ADO组件的大部分方法,并扩展了一些人们常用到的方法,如把文件或图片写到数据库中,从数据库中读出位图字段,字段的值的智能转换等等。因为实在是时间不够,我几乎没有对command类做任何有效的测试,也没有写相关的文档,而对connection和recordset类的文档,也写得不甚明了,也许有人又要说我很不负责任了。呵呵!在这个测试程序中,我对连接类和记录集类的大部分方法进行了测试,包括对常用数据类型的存取,添加删除等等,还有对多种数据类型以整型,双精度型,字符型类型的变量读取,其中以字符型兼容性最好,基本上对大部分数据都能返回有效值,其次是双精度型,和整型,它们不能读取字符型,日期型等字段的值. 另外对这两个象的属性进行了一些测试,当然有好多属性是没法全面测试得到的。我在开发ADO相关程序中切身体会到有几个方法是很有用的方法,如SetFilter,SetSort,Find,书签等等,它们可以让你很有效的操纵记录,而不用老去想怎样去构建SQL语句来实现这样功能。其中还有一个导入导出xml文件的方法,我不知道这个方法是不是很有用,因为它对中文支持不是很好,导出的xml文件中没法正常显示中文.最后还一个就是datagrid控件与记录集绑定,我觉得这应该是一个比较有用的技巧,我以前都没想到过,在VC中也可以学VB一样绑定数据库的,这样不用写什么代码就可以方便地修改数据了。代码在(vc6 + sp5) / vc7 + windows XP 英文专业版/ windows 2000 中文专业版/ windows 2003 英文测试版 /windows 2003 中文企业版下编译通过, 并在access, sqlserver, mysql下进行了测试,除mysql不支持事务等方法外,大部分方法都可以通过测试.在原则上,我默许您自由地使用,修改,或传播此代码,但您要是用在某某项目中或用于商业用途,那请您注意了,我不会对因代码bug问题,或版权问题对您造成的损失负任何责任。由于初次封装如此多又不是很熟悉的东西,有什么不当之处还请大家多指教.本文代码运行效果图如下:下面详细介绍这几个封装类:CAdoConnection class 类成员:构造函数: CAdoConnection()创建Connection对象.Open 方法:BOOL CAdoConnection:Open(LPCTSTR lpszConnect, long lOptions)连接到数据源.Params: lpszConnect: 连接字符串, 包含连接信息.lOptions: 可选. 决定该方法是以同步还是异步的方式连接数据源. 可以是如下某个常量:常量说明adConnectUnspecified(默认)同步方式打开连接.adAsyncConnect异步方式打开连接. Ado用 ConnectComplete 事件来通知已经完成连接. BOOL CAdoConnection:ConnectSQLServer(CString dbsrc, CString dbname, CString user, CString pass, long lOptions)连接到 SQL Server 数据库.BOOL CAdoConnection:ConnectAccess(CString dbpath, CString pass, long lOptions)连接到 Access 数据库.Params: dbpath: Access MDB 数据库文件路径名.pass: 访问密码.dbsrc: SQL SERVER 服务器名.dbname: 默认的数据库名.user: 用户名. OpenUDLFile方法:BOOL CAdoConnection:OpenUDLFile(LPCTSTR strFileName, long lOptions)通过打开udl文件连接数据库. Params: strFileName: UDL 数据库连接文件路径名./ 访问SQL Server 的例子: CAdoConnection pAdoConnection;CString strConnection = _T(Provider=SQLOLEDB.1;Persist Security Info=False;Integrated Security=SSPI;Data Source=czxyy;Initial Catalog=NoteBook;);if (pAdoConnection.Open(LPCTSTR(strConnection)DoSomething();.或者: if (pAdoConnection.ConnectSQLServer(czxyy, NoteBook, sa, 007)DoSomething();/访问 ACCESS 的例子: CAdoConnection pAdoConnection;CString strConnection = _T(Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:dbTest.mdb);pAdoDb.SetConnectionString(strConnection);if (pAdoConnection.Open(LPCTSTR(strConnection)DoSomething();.或者: if (pAdoConnection.ConnectAccess(C:dbTest.mdb, 007)DoSomething();.Close 方法:void CAdoConnection:Close()关闭与数据源的连接.Remarks: 使用 Close 方法可关闭 Connection 对象以便释放所有关联的系统资源. 关闭对象并非将它从内存中删除, 可以更改它的属性设置并且在此后再次打开. 在超出 Connection 对象作用域或重新连接新的数据库时会自动调用此方法.Execute 方法:_RecordsetPtr CAdoConnection:Execute(LPCTSTR lpszSQL, long lOptions)执行指定的查询、SQL 语句、存储过程等.Remarks: 请参考 CAdoRecordSet 类的Open方法. 返回的 Recordset 对象始终为只读、仅向前的游标. 连接对象的此方法一般用来执行一些不用返回记录集的SQL语句. 不需要为了执行一条小语句而动用RecordSet对象,显得更为灵活点.如: if (pAdoConnection.IsOpen()pAdoConnection.Execute(Delete From student Where number = 3);Cancel 方法:BOOL CAdoConnection:Cancel()Remarks: 请参考 CAdoRecordSet 类 Cancel 方法. GetLastErrorText 方法:CString CAdoConnection:GetLastErrorText()取得最后发生的错误信息.Remarks: 任何涉及 ADO 对象的操作都可以产生一个或多个提供者错误. 产生错误时,可以将一个或多个 Error 对象置于 Connection 对象的 Errors 集合中. 其他 ADO 操作产生错误时, 将清空 Errors 集合, 并且将新的 Error对象置于 Errors 集合中.每个 Error 对象代表特定的提供者错误, 而不是 ADO 错误. ADO 错误被记载在运行时的异常处理机制中.没有产生错误的 ADO 操作对 Errors 集合没有影响. 使用 Clear 方式可手工清除 Errors 集合.ErrorsPtr CAdoConnection:GetErrors()获得错误集对象指针.ErrorPtr CAdoConnection:GetError(long index)获得错误对象指针.IsOpen 属性:BOOL CAdoConnection:IsOpen()检测连接对象是否为打开状态.ConnectTimeOut 属性:BOOL CAdoConnection:SetConnectTimeOut(long lTime)long CAdoConnection:GetConnectTimeOut()设置或取得连接超时时间.ProviderName 属性:CString CAdoConnection:GetProviderName()取得 Connection 对象提供者的名称.Version 属性:CString CAdoConnection:GetVersion()取得当前使用的 ADO 的版本号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: 所要运行的模式查询类型, 下面列出一些较常用的类型及返回的表中多条字段中主要的字段名.adSchemaAssertsCONSTRAINT_NAME adSchemaCatalogsCATALOG_NAMEadSchemaCharacterSetsCHARACTER_SET_NAMEadSchemaCheckConstraintsCONSTRAINT_NAMEadSchemaCollationsCOLLATION_NAMEadSchemaColumnDomainUsageDOMAIN_NAMECOLUMN_NAMEadSchemaColumnPrivilegesTABLE_NAMECOLUMN_NAMEGRANTORGRANTEE adSchemaColumnsTABLE_NAMECOLUMN_NAMEadSchemaConstraintColumnUsageTABLE_NAMECOLUMN_NAMEadSchemaConstraintTableUsageTABLE_NAMEadSchemaForeignKeysPK_TABLE_NAMEFK_TABLE_CATALOGFK_TABLE_SCHEMAFK_TABLE_NAMEadSchemaIndexesINDEX_NAMETYPETABLE_NAMEadSchemaKeyColumnUsageCONSTRAINT_NAMETABLE_CATALOGTABLE_SCHEMATABLE_NAMECOLUMN_NAMEadSchemaPrimaryKeysPK_TABLE_NAMEadSchemaProcedureColumnsPROCEDURE_NAMECOLUMN_NAMEadSchemaProcedureParametersPROCEDURE_NAMEPARAMTER_NAMEadSchemaProceduresPROCEDURE_NAMEPROCEDURE_TYPEadSchemaProviderSpecific参见说明adSchemaProviderTypesDATA_TYPEBEST_MATCHadSchemaReferentialConstraintsCONSTRAINT_NAMEadSchemaSchemataSCHEMA_OWNERadSchemaSQLLanguagesadSchemaStatisticsTABLE_NAMEadSchemaTableConstraintsCONSTRAINT_NAMETABLE_CATALOGTABLE_SCHEMATABLE_NAMECONSTRAINT_TYPEadSchemaTablePrivilegesTABLE_NAMEGRANTORGRANTEEadSchemaTablesTABLE_NAMETABLE_TYPEadSchemaTranslationsTRANSLATION_NAMEadSchemaUsagePrivilegesOBJECT_NAMEOBJECT_TYPEGRANTORGRANTEEadSchemaViewColumnUsageVIEW_NAMEadSchemaViewTableUsageVIEW_NAMEadSchemaViewsVIEW_NAMEreturns: 返回包含数据库信息的 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);把变体型变量转换成其他类型变量.使用ADO封装类的数据库程序开发实例第二版 (下) 最新评论 发表评论 文章投稿查看所有评论 推荐给好友 打印为什么我用的你Execute就是建不了表格啊? ( livedeal 发表于 2007-4-21 17:25:00)dll能用找到原因了,原来和dao有关 ( yhaiquan 发表于 2005-11-15 16:12:00)在MFC写的DLL中不行 ( yhaiquan 发表于 2005-11-15 15:54:00)这是一个不错的ADO封装类,非常感谢作者在使用中发现一个问题:在函数BOOLCAdoRecordSet:GetChunk(FieldPtrpField,LPVOIDlpData)中有一句:while(indexActualSize)改成:longlen=pField-ActualSize;while(indexlen)才能成功读取Image类型数据(SQLServer)( hloveloveu 发表于 2004-7-27 10:34:00)连接access数据库有个bug,数据库加密码就访问不了;CStringstrConnect=_T(Provider=Microsoft.Jet.OLEDB.4.0;DataSource=)+dbpath;应改为:CStringstrConnect=_T(Provider=Microsoft.Jet.OLEDB.4.0;DataSource=)+dbpath+;( autism 发表于 2004-5-17 13:17:00)欢迎加盟中国微型软件开发中心,网站正建设中。为你量身定做各种小型软件,/联系方式:email:qq:36201365 ( rbird5118 发表于 2004-4-14 16:02:00)欢迎加盟中国微型软件开发中心,网站正建设中。为你量身定做各种小型软件,/联系方式:email:qq:36201365 ( rbird5118 发表于 2004-4-14 15:58:00)tigeroar:想请各位帮个忙,不过我在调用过程中有几处出错,因为我对ADO不熟,我也不知道是什么原因.一处是这里只是对表进行更新.CAdoRecordSetpRecordSet;pRecordSet.SetAdoConnection(m_pConnection);pRecordSet.SetCursorLocation();queryStr=select*from+m_TableName;pRecordSet.Open(queryStr);pRecordSet.SetSort(位数ASC);pRecordSet.MoveFirst();constintAllLoc=2;for(i=0;iGetFieldValue(index,var);constVARIANT*variant=LPVARIANT(var);COleDateTimet(variant-date);str=t.Format(%Y%m%d);/此步出错请指点指点把!急等佳音. ( zhawei 发表于 2003-9-11 21:00:00)谢谢你的类。有问题请教,请问为什么在console模式下不能连接数据库,而同样的代码是能在Dialog下运行的,能指点一下吗 ( jfu_router 发表于 2003-6-25 12:39:00).More. 版权所有 1999 - 2010 VC知识库 :首页 文档中心 在线杂志 ADO 在线杂志 第21期 窗体顶端 原创文档 本文适合中级读者 已阅读37854次 窗体底端使用ADO封装类的数据库程序开发实例第二版 (下)作者:成真 接上文使用ADO封装类的数据库程序开发实例第二版 (上)CAdoRecordSet class:CAdoRecordSet:CAdoRecordSet:CAdoRecordSet()CAdoRecordSet:CAdoRecordSet(CAdoConnection *pConnection)void CAdoRecordSet:SetAdoConnection(CAdoConnection *pConnection)创建Connection对象.Params:pConnection: 连接对象指针. Open 方法:BOOL CAdoRecordSet:Open(LPCTSTR strSQL, long lOption, CursorTypeEnum CursorType, LockTypeEnum LockType)Params: strSQL: SQL语句, 表名, 存储过程或持久 Recordset 文件名.lOption: 可选. 长整型值, 用于指示 strSQL 参数的类型. 可为下列常量之一.常量说明 adCmdText指示strSQL为命令文本, 即普通的SQL语句.adCmdTable指示ADO生成SQL查询返回以 strSQL 命名的表中的所有行.adCmdTableDirect指示所作的更改在strSQL中命名的表中返回所有行.adCmdStoredProc指示strSQL为存储过程.adCmdUnknown指示strSQL参数中的命令类型为未知.adCmdFile指示应从在strSQL中命名的文件中恢复保留(保存的)Recordset.adAsyncExecute指示应异步执行strSQL.adAsyncFetch指示在提取 Initial Fetch Size 属性中指定的初始数量后, 应该异步提取所有剩余的行. 如果所需的行尚未提取, 主要的线程将被堵塞直到行重新可用. adAsyncFetchNonBlocking指示主要线程在提取期间从未堵塞. 如果所请求的行尚未提取, 当前行自动移到文件末尾.CursorType: 可选. CursorTypeEnum 值, 确定打开 Recordset 时应该使用的游标类型. 可为下列常量之一.常量说明adOpenForwardOnly打开仅向前类型游标.adOpenKeyset打开键集类型游标. adOpenDynamic打开动态类型游标. adOpenStatic打开静态类型游标. LockType: 可选, 确定打开 Recordset 时应该使用的锁定类型(并发)的 LockTypeEnum 值, 可为下列常量之一.常量说明adLockReadOnly只读 - 不能改变数据. adLockPessimistic保守式锁定 - 通常通过在编辑时立即锁定数据源的记录.adLockOptimistic开放式锁定 - 只在调用 Update 方法时才锁定记录.adLockBatchOptimistic开放式批更新 - 用于批更新模式(与立即更新模式相对).Cancel 方法:BOOL CAdoRecordSet:Cancel()取消执行挂起的异步 Execute 或 Open 方法的调用.Remarks: 使用 Cancel 方法终止执行异步 Execute 或 Open 方法调用(即通过 adAsyncConnect、adAsyncExecute 或 adAsyncFetch 参数调用的方法). 如果在试图终止的方法中没有使用 adAsyncExecute, 则 Cancel 将返回运行时错误.Close 方法:void CAdoRecordSet:Close()关闭打开的对象及任何相关对象.Remarks: 使用 Close 方法可关闭 Recordset 对象以便释放所有关联的系统资源. 关闭对象并非将它从内存中删除, 可以更改它的属性设置并且在此后再次打开. 要将对象从内存中完全删除, 可将对象变量设置为 NULL.如果正在立即更新模式下进行编辑, 调用Close方法将产生错误,应首先调用 Updat e或 CancelUpdat 方法. 如果在批更新期间关闭 Recordset 对象, 则自上次 UpdateBatch 调用以来所做的修改将全部丢失.如果使用 Clone 方法创建已打开的 Recordset 对象的副本, 关闭原始Recordset或其副本将不影响任何其他副本.例1: if (m_adoConnection.OpenUDLFile(C:mm.udl)m_adoRecordSet.SetAdoConnection(&m_adoConnection);m_adoRecordSet.SetCursorLocation(adUseClient);m_adoRecordSet.Open(ado, adCmdTable);/ 开始事务 -m_adoConnection.BeginTrans();bool bSex = false;if (m_strSex = 男) bSex = true;m_adoRecordSet.AddNew();if (!m_adoRecordSet.PutCollect(age, m_nAge) | !m_adoRecordSet.PutCollect(length, m_fLength) | !m_adoRecordSet.PutCollect(name, m_strName) | !m_adoRecordSet.PutCollect(tel, m_strTel) | !m_adoRecordSet.PutCollect(money, m_cyMoney) | !m_adoRecordSet.PutCollect(date, m_dtDate) | !m_adoRecordSet.PutCollect(sex, bSex)m_adoRecordSet.CancelUpdate();m_adoConnection.RollbackTrans();elsem_adoRecordSet.Update;m_adoConnection.CommitTrans();.if (m_adoRecordSet.GetEditMode() != adEditNone)m_adoRecordSet.CancelUpdate();m_adoRecordSet.Close(); elseMessageBox(数据库连接失败!);AddNew 方法:BOOL CAdoRecordSet:AddNew()Remarks: 开始添加新的纪录. Update 方法:BOOL CAdoRecordSet:Update()Remarks: 在调用 AddNew 等方法后, 调用此方法完成更新或修改.UpdateBatch 方法:BOOL CAdoRecordSet:UpdateBatch(AffectEnum AffectRecords)Remarks: 将所有挂起的批更新写入磁盘.Params: AffectRecords 可选, AffectEnum 值. 决定 UpdateBatch 方法所影响的记录数目.可以为如下常量之一.常量说明adAffectCurrent只写入当前记录的挂起更改. adAffectGroup写入满足当前 Filter 属性设置的记录所发生的挂起更改. 必须将 Filter 属性设置为某个有效的预定义常量才能使用该选项. adAffectAll(默认值). 写入 Recordset 对象中所有记录的挂起更改, 包括由于当前 Filter 属性设置而隐藏的任何记录.adAffectAllChapters写入所有子集的挂起更改. Remarks: 按批更新模式修改 Recordset 对象时, 使用 UpdateBatch 方法可将 Recordset 对象中的所有更改传递到基本数据库.如果 Recordset 对象支持批更新, 那么可以将一个或多个记录的多重更改缓存在本地, 然后再调用 UpdateBatch 方法. 如果在调用 UpdateBatch 方法时正在编辑当前记录或者添加新的记录, 那么在将批更新传送到提供者之前, ADO 将自动 调用 Update 方法保存对当前记录的所有挂起更改. 只能对键集或静态游标使用批更新.CancelUpdate 方法:BOOL CAdoRecordSet:CancelUpdate()Name: 取消在调用 Update 方法前对当前记录或新记录所作的任何更改.Remarks: 使用 CancelUpdate 方法可取消对当前记录所作的任何更改或放弃新添加的记录. 在调用 Update 方法后将无法撤消对当前记录或新记录所做的更改, 除非更改是可以用 RollbackTrans 方法回卷的事务的一部分, 或者是可以用 CancelBatch 方法取消的批更新的一部分.如果在调用 CancelUpdate 方法时添加新记录, 则调用 AddNew 之前的当前记录将再次成为当前记录.如果尚未更改当前记录或添加新记录, 调用 CancelUpdate 方法将产生错误.CancelBatch 方法:BOOL CAdoRecordSet:CancelBatch(AffectEnum AffectRecords)Name: 取消挂起的批更新.Params: AffectRecords 可选的 AffectEnum 值, 决定CancelBatch 方法所影响记录的数目, 可为下列常量之一: 常量说明AdAffectCurrent仅取消当前记录的挂起更新.AdAffectGroup对满足当前 Filter 属性设置的记录取消挂起更新.使用该选项时,必须将 Filter 性设置为合法的预定义常量之一.AdAffectAll 默认值取消 Recordset 对象中所有记录的挂起更新,包括由当前 Filter 属性设置所隐藏的任何记录. Delete 方法:BOOL CAdoRecordSet:Delete(AffectEnum AffectRecords)Params: AffectRecords: AffectEnum 值, 确定 Delete 方法所影响的记录数目, 该值可以是下列常量之一.常量说明 AdAffectCurrent 默认仅删除当前记录. AdAffectGroup删除满足当前 Filter 属性设置的记录. 要使用该选项, 必须将 Filter 属性设置为有效的预定义常量之一.adAffectAll删除所有记录.adAffectAllChapters删除所有子集记录.PutCollect/GetCollect 方法:BOOL PutCollect(long index, const _variant_t &value);BOOL PutCollect(long index, const CString &value);BOOL PutCollect(long index, const double &value);BOOL PutCollect(long index, const float &value);BOOL PutCollect(long index, const long &value);BOOL PutCollect(long index, const DWORD &value);BOOL PutCollect(long index, const int &value);BOOL PutCollect(long index, const short &value);BOOL PutCollect(long index, const BYTE &value);BOOL PutCollect(long index, const bool &value);BOOL PutCollect(long index, const COleDateTime &value);BOOL PutCollect(long index, const COleCurrency &value);BOOL PutCollect(LPCTSTR strFieldName, const _variant_t &value);BOOL PutCollect(LPCTSTR strFieldName, const CString &value);BOOL PutCollect(LPCTSTR strFieldName, const double &value);BOOL PutCollect(LPCTSTR strFieldName, const float &value);BOOL PutCollect(LPCTSTR strFieldName, const long &value);BOOL PutCollect(LPCTSTR strFieldName, const DWORD &value);BOOL PutCollect(LPCTSTR strFieldName, const int &value);BOOL PutCollect(LPCTSTR strFieldName, const short &value);BOOL PutCollect(LPCTSTR strFieldName, const BYTE &value);BOOL PutCollect(LPCTSTR strFieldName, const bool &value);BOOL PutCollect(LPCTSTR strFieldName, const COleDateTime &value);BOOL PutCollect(LPCTSTR strFieldName, const COleCurrency &value);BOOL GetCollect(long index, CString &value);BOOL GetCollect(long index, double &value);BOOL GetCollect(long index, float &value);BOOL GetCollect(long index, long &value);BOOL GetCollect(long index, DWORD &value);BOOL GetCollect(long index, int &value);BOOL GetCollect(long index, short &value);BOOL GetCollect(long index, BYTE &value);BOOL GetCollect(long index, bool &value);BOOL GetCollect(long index, COleDateTime &value);BOOL GetCollect(long index, COleCurrency &value);BOOL GetCollect(LPCSTR strFieldName, CString &strValue);BOOL GetCollect(LPCSTR strFieldName, double &value);BOOL GetCollect(LPCSTR strFieldName, float &value);BOOL GetCollect(LPCSTR strFieldName, long &value);BOOL GetCollect(LPCSTR strFieldName, DWORD &value);BOOL GetCollect(LPCSTR strFieldName, int &value);BOOL GetCollect(LPCSTR strFieldName, short &value);BOOL GetCollect(LPCSTR strFieldName, BYTE &value);BOOL GetCollect(LPCSTR strFieldName, bool &value);BOOL GetCollect(LPCSTR strFieldName, COleDateTime &value);BOOL GetCollect(LPCSTR strFieldName, COleCurrency &value);在读取字段的值,本程序做了一些自动的转换,如: 如果字段的值是以数字组成的字符串,你可以用整型或双精度的值,直接读取.Requery 方法:BOOL CAdoRecordSet:Requery(long Options)Name: 通过重新执行对象所基于的查询, 更新 Recordset 对象中的数据.Params: Options 可选. 指示影响该操作选项的位屏蔽. 如果该参数设置为 ad
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年矿山开采项目社会稳定风险评估与就业影响分析报告
- 健身类直播平台内容质量提升与用户满意度研究报告
- 2025年生态循环农业模式下的农业生态环境修复与经济效益评估
- 专升本考前冲刺练习(典型题)附答案详解
- 2025年煤炭清洁燃烧技术在环保产业中的应用前景分析报告
- 年产8万吨顺酐氧化反应器项目可行性研究报告
- 自考专业(计算机信息管理)复习提分资料及答案详解【新】
- 环保公司防疫措施执行细则
- 中级银行从业资格之中级银行业法律法规与综合能力通关模拟题库及完整答案详解
- 自考公共课题库检测试题打印(达标题)附答案详解
- 课堂观察-走向专业的听评课-崔允漷
- 眼科检查 视野检查 视野概述
- 鹤壁中泰矿业有限公司新副井工程环境影响报告
- 颈椎病中医护理查房
- GB/T 20245.1-2006电化学分析器性能表示第1部分:总则
- GB/T 20001.7-2017标准编写规则第7部分:指南标准
- 医用高等数学-课件
- 《展示设计》课程教案
- 市政道路雨污水管道工程施工技术详细课件
- 村集体经济组织财务及会计知识讲座课件
- 热集成-4.夹点技术基础理论
评论
0/150
提交评论