class CAdoInterface
AdoInterface.h
#pragma once
//#pragma warning (push)
//以防会产生警告 C4018,但这个警告是没关系的,所以使用下一句代码屏蔽它
//#pragma warning(disable:C4018)
#include "DataBelong.h"
#include <vector>
using namespace std;
class CAdoInterface
{
public:
//获取_ConnectionPtr、_RecordsetPtr
_ConnectionPtr& GetConnPtr() {return m_pCon;}
_RecordsetPtr& GetRecoPtr() {return m_pRec;}
//连接某个数据库
void ConnecDataLibrary(LPCTSTR ConnStr,LPCTSTR UserID,
LPCTSTR PassWord,long Options=adModeUnknown);
//关库
void CloseDataLibrary();
//以某种方式打开表单
void OpenSheet(LPCTSTR Sql,
enum CursorTypeEnum CursorType=adOpenDynamic,
enum LockTypeEnum LockType=adLockOptimistic,
long Options=adCmdText);
//关表
void CloseSheet();
//头
BOOL BOF() {return m_pRec->BOF;}
//尾
BOOL adoEOF() {return m_pRec->adoEOF;}
//第一条记录
void MoveFirst() {m_pRec->MoveFirst();}
//最后一条记录
void MoveLast() {m_pRec->MoveLast();}
//向下移动一条记录
void MoveNext() {m_pRec->MoveNext();}
//向上移动一条记录
void MovePrevious() {m_pRec->MovePrevious();}
//移动到指定位置
void Move(long Num) {m_pRec->Move(Num);}
//执行SQL语句
_RecordsetPtr Execute(LPCTSTR strSQL, long lOptions = adCmdText);
//获取字段内容
BOOL GetCollect(LPCTSTR Name,_variant_t& OutCol);
//---------------------增值操作--------------------------------
//插入一条新的记录
void AddNewRecode(AddNewCode* code,long ColCount);
//删除一条记录
void Delet(enum AffectEnum AffectRecords=adAffectCurrent);
//获取一条记录的容
void GetOneRecord(_variant_t* ColName,long ColCount,
_variant_t* OutValue);
//查找
BOOL Find(LPCTSTR lpszFind,
SearchDirectionEnum SearchDirection = adSearchForward);
//查找下一个
BOOL FindNext();
//排序
BOOL Sort(LPCTSTR lpszSort);
//过滤
BOOL Filter(LPCTSTR lpszFilter);
//----------------------扩展包装方法------------------------
//插入一条新的记录
void AddNewRecodeEx(CString ColName, ... );
//读取一条新的记录
void GetOneRecordEx(CString ColName, ... );
private:
_ConnectionPtr m_pCon;
_RecordsetPtr m_pRec;
CString m_strFind;
SearchDirectionEnum m_SearchDirection;
//-----------------------算法-----------------------
void Ufo(CString InStr,vector<CString>& OutStr);
void GetNameandType(CString ColName,vector<FieldInfor>& OutVnt);
};
参考自:https://bbs.csdn.net/topics/390124642?list=lz
class CAdoInterface的更多相关文章
- 封装ADO库之MFC应用
Microsoft Activex Data Objects(ADO)支持用于建立基于客户端/服务器和web的应用程序开发的主要功能.其主要优点是易于使用.高速度.低内存支出和占用磁盘空间较少. 本次 ...
随机推荐
- 【新词发现】基于SNS的文本数据挖掘、短语挖掘
互联网时代的社会语言学:基于SNS的文本数据挖掘 python实现 https://github.com/jtyoui/Jtyoui/tree/master/jtyoui/word 这是一个无监督训 ...
- MySQL数据分析(7)-SQL的两大学习框架
大家好,我是jacky,很高兴继续跟大家分享<MySQL数据分析实战>课程,前面的课程基本上我把MySQL的原理都做了一定的介绍,有好多朋友说学习MySQL是没有逻辑的,其实jacky是非 ...
- JDK8 新特性 Lambda表达式
1.java8中Lambda表达式基础语法: (x,y) -> {} 左侧是一个小括号,里面是要实现的抽象方法的参数,有几个参数就写几个参数名,无参可写空括号,无需声明参数类型: 中间是一个jd ...
- install slax record
#!/usr/bin/bash#apt update#apt upgradeapt install build-essential cmake gdb git vim binutils-doc cpp ...
- 下板不动, 上板匀速平板间流动(c++)【转载】
摘自<FLUENT流体工程仿真计算实例与分析>,程序略有修改 两个间距为1cm水平平板,如下图所示: 上板匀速平板间流动(c++)[转载]" title="下板不动, ...
- spring boot定时任务
介绍 该demo是基于注解(@Scheduled)以及多线程执行的定时任务. 步骤 启用异步执行 springboot实现异步调用 入口类添加启动注解 @EnableScheduling @Enabl ...
- Java并发指南11:解读 Java 阻塞队列 BlockingQueue
解读 Java 并发队列 BlockingQueue 转自:https://javadoop.com/post/java-concurrent-queue 最近得空,想写篇文章好好说说 java 线程 ...
- SQLyog Enterprise Trial 试用期问题
SQLyog Enterprise Trial 是 SQLyog的试用版,有效期30天:试用期过后提示购买之后才能使用:解决办法:修改注册表(过期就得改比较麻烦,但暂时可以用,等有时间了再找其他办法) ...
- Windows Form, Ok, Cancel button
1. 为button设置DialogResult property为非None值, 可以关闭父窗口,并使父窗口的DialogResult property返回相应的值. http://msdn.mic ...
- MapReduce On Yarn的配置详解和日常维护
MapReduce On Yarn的配置详解和日常维护 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MapReduce运维概述 MapReduce on YARN的运维主要是 ...