• 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

  • 相关阅读:
    *p++与(*p)++与*(p++)------自增运算符常见误区
    二维数组(解引用、指针数组、数组的指针)——C语言
    二叉树、前序遍历、中序遍历、后序遍历
    C语言参数传递(值传递、地址传递)+二级指针
    文件操作(FILE)与常用文件操作函数——C语言
    结构体(结构体嵌套、结构体指针、结构体参数传递)
    链表(单向链表的建立、删除、插入、打印)
    博文与文档发布玩法:Github + MWeb + 语雀 + Cnbolgs
    [笔记] Git 冲突处理
    [笔记] C# 如何获取文件的 MIME Type
  • 原文地址:https://www.cnblogs.com/wjq13752525588/p/11711595.html
Copyright © 2020-2023  润新知