文档章节

MFC ODBC数据库开发技术(续)

来来叔叔
 来来叔叔
发布于 2017/08/04 23:57
字数 387
阅读 0
收藏 0
 

1.查询记录

   使用CRecordset类从数据源中提取记录集,并对记录集进行操作。如果查询的记录是多条的,可以利用CRecordset类的Move,MoveNext,MovePrev,MoveFirst,MoveLast方法移动记录到指定的位置。

在操作记录集之前,需要定义一个CRecordset类对象,并传入CDatabase类的指针,方法如下:

CRecordset rs(&m_db);

或者

CRecordset rs;

rs.m_pDatabase=&m_db;

然后调用CRecordset的Open方法打开记录集,函数原型如下:

virtual BOOL Open( UINT nOpenType = AFX_DB_USE_DEFAULT_TYPE, LPCTSTR lpszSQL = NULL, DWORD dwOptions = none );
throw( CDBException
, CMemoryException );

其中nOpenType是记录集打开的方式,包括dynaset,snapshot,dynamic和forwardonly。lpsaSQL是打开记录集的SQL语句,也可以是一个表名或一个存储过程。

可以用IsEOF()方法判断记录集是否到达末尾。CDBVariant是MFC ODBC中一个处理数据库的变量类型类,使用GetFieldValue函数来获取字段的值,能方便地存取数据而不用考虑数据类型的转换。

2.添加记录

只需构造添加新记录的SQL语句,然后调用CDatabase类的ExecuteSQL方法执行SQL语句,就能添加新记录到数据库中。

例:

CString sql="insert into car_info_tab(brand,color,manufacturer)"

                    "value('QQ','red','chery')";

m_db.ExecuteSQL(sql);

3.修改、删除记录

与添加记录类似,只需构造相应的SQL语句,调用CDatabase的ExecuteSQL方法即可。

如修改记录的SQL语句:

CString sql="update car_info_tab"

                    "set brand='QQ'"

                   "where id=1";

删除记录的SQL语句:

CString sql="delete from car_info_tab where id=1";

© 著作权归作者所有

共有 人打赏支持
来来叔叔
粉丝 0
博文 100
码字总数 55732
作品 0
广州
高级程序员
《Visual C++2010开发权威指南》版权输出台湾香港新加坡---大陆C++超越并引领台湾

CSDN著名技术专家著作-《Visual C++2010开发权威指南》版权输出台湾香港新加坡 大陆购买地址 http://product.china-pub.com/196957 台湾购买地址 http://www.iread.com.tw/ProdDetails.aspx...

junwong
2012/03/09
0
0
《Visual C++2010开发权威指南》版权输出台湾香港新加坡---大陆C++超越并引领台湾

CSDN著名技术专家著作-《Visual C++2010开发权威指南》版权输出台湾香港新加坡 大陆购买地址 http://product.china-pub.com/196957 台湾购买地址 http://www.iread.com.tw/ProdDetails.aspx...

junwong
2012/03/09
0
0
数据库开发——各类DB的概念关系

1、客户服务器:信息被传播到“哑终端”与大型主机交流 网络使得客户机与服务器共享信息,引发客户服务器计算过程。 2、OLE DB、ODBC、ADO的关系: OLE DB:对象链接和嵌入数据库。 ADO:Act...

徐燕
2011/04/15
0
0
Linux C++、Boost、ACE ......

Linux/UNIX、C++、Boost、ACE、Shell ...... Linux/UNIX C++高级培训---远程班 培养目标:Linux/UNIX C++高级软件工程师 专注Linux/UNIX服务器端的软件开发(后台开发),培养企业所需的专业...

athxy
2010/04/01
0
1
CSDN回帖得分大全(近两年)

√ vs2005调用dll的时候Initialize()函数返回错误 [VC/MFC 基础类] √ 为什么我创建登陆框之后,然后获取登陆框的数据时候总是出现非法操作! [VC/MFC 界面] √ CFileFind::FindFile 支持通配...

junwong
2012/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JS三元运算示例

1. topFlag=topFlag ==0?1:0; 等于 if(topFlag=00){ topFlag=1; }else if(topFlag == 1){ topFlag=0; } 2. 5>3?alert('5大'):alert('3大'); 即 if(5>3){alert('5大')}else{alert('3大')}; 注......

森火
今天
0
0
利用Slf4j的MDC跟踪方法调用链

why? 一个web项目通常提供很多URL访问地址, 项目一般都是分层处理,例如Controller——>Service——>DAO。 如果想根据日志查看用户一次请求都走了哪些方法(多数是查错误)。 如果系统是多人...

杨春炼
今天
7
0
Maven介绍及安装

Maven介绍及安装 以下内容是本人早期学习时的笔记,可能比较详实繁琐,现在复习一下Maven,顺便将内容抛出来,供大家一起学习进步。 一、Maven简介 Maven是Apache旗下的一款项目管理工具,是...

星汉
今天
0
0
小程序Aes解密

主要步骤: 1、下载AES源码(JS版) 2、在小程序中新建一个公共的文件夹,把AES源码拷贝进去(注意:需要暴露接口 module.exports = CryptoJS;) 3、添加一个用于加密解密的公共JS,可取名为...

Mr_Tea伯奕
今天
0
0
Go实现文件传输(基本传输可用)

发送端 package mainimport ("fmt""os""net""io")func SendFile(path string, connect net.Conn){file, oerr :=os.Open(path)if oerr !=nil{fmt.Println("Open", oerr)......

CHONGCHEN
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部