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

最新文章

  1. Nginx设置线程数为整机内核数的俩倍!
  2. C++学习基础八——重载输入和输出操作符
  3. Provides PHP completions for Sublime Text
  4. 暑假热身 B. 下载测速
  5. tomcat的OutOfMemoryError(PermGen space)解决方法
  6. Connect the Cities(prime)
  7. 腾讯面试题:10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。
  8. 热力图heatmap.js使用中的思路解析
  9. layui学习
  10. 京东B2B业务架构演变
  11. Serverless架构
  12. Shell命令-文件及内容处理之diff、vimdiff
  13. Zabbix导入数据库时报错
  14. PHP字符串格式化特点和漏洞利用点
  15. Jmeter接口测试实例
  16. WDA 新SELECT OPTION
  17. Centos + docker,Ubuntu + docker介绍安装及详细使用
  18. C语言 &#183; 出栈次序
  19. asp.net 后台&lt;%@ Page%&gt; page指令属性
  20. java NIO 直接与非直接缓冲区

热门文章

  1. 如何通过Thread查看一个方法被调用的顺序
  2. 微信小程序之简单记账本开发记录(四)
  3. jar包中的依赖jar版本冲突
  4. CF1200A
  5. python线程+队列(queue)
  6. &quot;数字经济&quot;云安全共测大赛Web-Writeup
  7. 一个U盘制作多个系统
  8. C# Under the Hood: async/await (Marko Papic)
  9. P2047 [NOI2007]社交网络(洛谷)
  10. Mapper抽象类参数