MFC操作数据库有关的类

栾香梅 2019-12-21 23:56:00

推荐回答

数据库编程的思路都是一致的:打开数据库连接-》执行SQL语句-》获得查询结果-》关闭数据库连接,不同的数据库访问技术有不同的要求,比如用CAPI诘问MySql数据库的时候还得释放查询结果集。ODBC访问数据库得配置数据源配置ODBC数据源:打开控制面板下的“数据源”,弹出“ODBC数据源管理器”,选择DSN选项卡-》添加->你选择你的SQLServer选项,单击完成。如图然后你再按照向导提示添加。代码中用ODBC访问数据库你得加上afxdb.h头文件,用CDataBase类连接数据库、CRecordSet类查询记录。现在在VC访问数据库常用的是ADO访问,你可以找一下我前面的回答有ADO访问数据库的步骤。CDataBasem_cODBCDb;用CDataBase类的OpenEx::CoInitializeNULL;//释放COM对象::CoUninitialize。
赵颖馨2019-12-22 00:36:48

提示您:回答为网友贡献,仅供参考。

其他回答

  • 接下来你就需要定义3个智能指针,_ConnectionPtrpConn;_CommandPtrpCmd;_RecordsetPtrpRst;一个是用于连接,一个是用于执行sql指令,还一个就是保存sql指令的结果集.比如你一条查询命令,然后循环输出查询的结果集到界面上.可以去CSDN上down一些ODBC连接数据库的demo,很有帮助哦。
    龚子顺2019-12-22 00:54:47
  • 1、MFC的ODBC类简介MFC的ODBC类对较复杂的ODBCAPI进行了封装,提供了简化的调用接口,从而大大方便了数据库应用程序的开发。程序员不必了解ODBCAPI和SQL的具体细节,利用ODBC类即可完成对数据库的大部分操作。MFC的ODBC类主要包括:CDatabase类:主要功能是建立与数据源的连接。CRecordset类:该类代表从数据源选择的一组记录.按照新的过滤或排序方法查询记录并重新建立记录集. 在调用Requery之前,可调用CanRestart来判断记录集是否支持Requery操作.要记住Requery只能在成功调用Open后调用,所以程序应调用IsOpen来判断记录集是否已建立.函数的声明为virtualBOOLRequery;throwCDBException,CMemoryException;返回TRUE表明记录集建立成功,否则返回FALSE.若函数内部出错则产生异常.BOOLCanRestartconst;//若支持Requery则返回TRUEBOOLIsOpenconst;//若记录集已建立则返回TRUE  CRecordset类有两个公共数据成员m_strFilter和m_strSort用来设置对记录的过滤和排序.在调用Open或Requery前,如果在这两个数据成员中指定了过滤或排序,那么Open和Requery将按这两个数据成员指定的过滤和排序来查询数据源.成员m_strFilter用于指定过滤器.m_strFilter实际上包含了SQL的WHERE子句的内容,但它不含WHERE关键字.使用m_strFilter的一个例子为:m_pSet->m_strFilter=“CourseID=‘MATH101’”;//只选择CourseID为MATH101的记录ifm_pSet->OpenCRecordset::snapshot,“Section”......成员m_strSort用于指定排序.m_strSort实际上包含了ORDERBY子句的内容,但它不含ORDERBY关键字.m_strSort的一个例子为m_pSet->m_strSort=“CourseIDDESC”;//按CourseID的降序排列记录m_pSet->Open;......事实上,Open函数在构造SELECT语句时,会把m_strFilter和m_strSort的内容放入SELECT语句的WHERE和ORDERBY子句中.如果在Open的lpszSQL参数中已包括了WHERE和ORDERBY子句,那么m_strFilter和m_strSort必需为空.调用无参数成员函数Close可以关闭记录集.在调用了Close函数后,程序可以再次调用Open建立新的记录集.CRecordset的析构函数会调用Close函数,所以当删除CRecordset对象时记录集也随之关闭。10.5.5滚动记录CRecordset提供了几个成员函数用来在记录集中滚动,如下所示.当用这些函数滚动到一个新记录时,框架会自动地把新记录的内容拷贝到域数据成员中.voidMoveNext;//前进一个记录voidMovePrev;//后退一个记录voidMoveFirst;//滚动到记录集中的第一个记录voidMoveLast;//滚动到记录集中的最后一个记录voidSetAbsolutePositionlongnRows;该函数用于滚动到由参数nRows指定的绝对位置处.若nRows为负数,则从后往前滚动.例如,当nRows为-1时,函数就滚动到记录集的末尾.注意,该函数不会跳过被删除的记录.virtualvoidMovelongnRows,WORDwFetchType=SQL_FETCH_RELATIVE;该函数功能强大.通过将wFetchType参数指定为SQL_FETCH_NEXT、SQL_FETCH_PRIOR、SQL_FETCH_FIRST、SQL_FETCH_LAST和SQL_FETCH_ABSOLUTE,可以完成上面五个函数的功能.若wFetchType为SQL_FETCH_RELATIVE,那么将相对当前记录移动,若nRows为正数,则向前移动,若nRows为负数,则向后移动. 如果在建立记录集时选择了CRecordset::skipDeletedRecords选项,那么除了SetAbsolutePosition外,在滚动记录时将跳过被删除的记录,这一点对象FoxPro这样的数据库十分重要.如果记录集是空的,那么调用上述函数将产生异常.另外,必须保证滚动没有超出记录集的边界.调用IsEOF和IsBOF可以进行这方面的检测. BOOLIsEOFconst;如果记录集为空或滚动过了最后一个记录,那么函数返回TRUE,否则返回FALSE.BOOLIsBOFconst;如果记录集为空或滚动过了第一个记录,那么函数返回TRUE,否则返回FALSE。
    齐文焕2019-12-22 00:19:03
  • 两个根本不是一个类型的东西啊,虽然都是库。MFC是微软的基本类库,封装了非常多的底层API,包括窗口操作、文件操作、SOCKET等以及一些辅助类例如CString和一些模板类CList、CArray等。同时提供了DOC/VIEW的程序框架,并构造了消息的处理线路。以下内容来自:而STL是StandardTemplateLibrary,标准模板库。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL现在是C++的一部分,因此不用额外安装什么。STL被内建在你的编译系统之内。在C++标准中,STL被组织为下面的13个头文件:、、、、、、、、、、、和。
    龚安静2019-12-22 00:06:48

相关问答

数据库管理系统databasemanagementsystem是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。它使用户能方便地定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库。按功能划分,数据库管理系统大致可分为6个部分:1模式翻译:提供数据定义语言ddl。用它书写的数据库模式被翻译为内部表示。数据库的逻辑结构、完整性约束和物理储存结构保存在内部的数据字典中。数据库的各种数据操作如查找、修改、插入和删除等和数据库的维护管理都是以数据库模式为依据的。2应用程序的编译:把包含着访问数据库语句的应用程序,编译成在dbms支持下可运行的目标程序。3交互式查询:提供易使用的交互式查询语言,如sql。dbms负责执行查询命令,并将查询结果显示在屏幕上。4数据的组织与存取:提供数据在外围储存设备上的物理组织与存取方法。⑸事务运行管理:提供事务运行管理及运行日志,事务运行的安全性监控和数据完整性检查,事务的并发控制及系统恢复等功能。6数据库的维护:为数据库管理员提供软件支持,包括数据安全控制、完整性保障、数据库备份、数据库重组以及性能监控等维护工具。基于关系模型的数据库管理系统已日臻完善,并已作为商品化软件广泛应用于各行各业。它在各户服务器结构的分布式多用户环境中的应用,使数据库系统的应用进一步扩展。随着新型数据模型及数据管理的实现技术的推进,可以预期dbms软件的性能还将更新和完善,应用领域也将进一步地拓宽。它所提供的功能有以下几项:和数据库开发工具对汉字的支持能力。
1、功能不同:第一个Wind资讯金融终端是将行情报价、数据提取、分析工具、组合管理、财经信息等多种功能应用融为一体。第二个是纯粹的数据库,方便分析人员进行宏观、行业等的数据查询和提取。第三个是开会、沟通、学习用的,对于想在金融圈生活的人,是扩充人脉的利器。2、用途不同:Wind资讯金融终端是一个在线实时金融信息终端,为用户提供无缝集成的行情报价、金融数据、财经信息、分析工具、组合管理等功能的综合性金融服务平台。Wind资讯经济数据终端是Wind资讯在2019年重点推出的产品,WET整合了海量的宏观和行业数据,并配合强大的指标计算和图形功能,将是经济学家、宏观分析师、策略分析师行业研究员必备的宏观行业数据分析工具。wind资讯会议平台是用来开远程会议、在线路演,行业内顶级的券商首席分析师、行业大佬会经常在这个3C平台上举办在线讲座。3、包含种类不同:Wind资讯金融终端包含了股票、债券、基金、外汇、商品、宏观等全品类,都可查到最新的和历史数据。Wind资讯经济数据终端除了分析人员进行宏观、行业等的数据查询和提取,其他都包跟Wind资讯金融终端一样。远程会议、wind资讯会议平台只是一个平台软件。扩展资料:针对金融业的投资机构、研究机构等不同类型客户的需求,Wind资讯开发了一系列围绕信息检索、数据提取与分析、投资组合管理应用等领域的专业分析软件与应用工具。通过这些终端工具,用户可以从Wind资讯获取到及时、准确、完整的财经数据、信息和各种分析结果。万得资讯是中国大陆领先的金融数据、信息和软件服务企业,总部位于上海陆家嘴金融中心。在国内市场,Wind资讯的客户包括超过90%的中国证券公司、基金管理公司、保险公司、银行和投资公司等金融企业。在国际市场,已经被中国证监会批准的合格境外机构投资者中75%的机构是Wind资讯的客户。同时国内多数知名的金融学术研究机构和权威的监管机构也是Wind资讯的客户,大量中英文媒体、研究报告、学术论文等经常引用Wind资讯提供的数据。WIND资讯。