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的应用程序开发的主要功能.其主要优点是易于使用.高速度.低内存支出和占用磁盘空间较少. 本次 ...
随机推荐
- Grafana +Zabbix 系列二
Grafana +Zabbix 系列二 Grafana 简介补充 Grafana自身并不存储数据,数据从其他地方获取.需要配置数据源 Grafana支持从Zabbix中获取数据 Grafana优化图形 ...
- 软件构造实验二-拷贝一个c文件 将其中的关键字int替换成float
1,新建 Parser Generator 点击project --> new 2,填写工程名字 随意取一个名字 点击OK 3,点击Project选项下的 parserwizard 分析器向导选 ...
- AGC024E Sequence Growing Hard
题意 给出\(n\),\(m\),\(mu\),问有多少个序列组\((A_0,A_1,\dots,A_n)\)满足: 序列\(Ai\)的长度恰好为\(i\) 所有元素均在\([1,m]\) \(A_{ ...
- Redis | 一文轻松搞懂redis集群原理及搭建与使用
转载:https://juejin.im/post/5ad54d76f265da23970759d3 作者:SnailClimb 这里总结一下redis集群的搭建以便日后所需同时也希望能对你有所帮助. ...
- react hook的todolist
感觉好长时间没写博客一样,app.js代码 import React from 'react'; import { useState } from 'react'; function App() { ...
- export default {} 和new Vue()区别?
export default 的用法:相当于提供一个接口给外界,让其他文件通过 import 来引入使用. 而对于 new Vue({})部分, 只是创建一个Vue的实例 就是相当于创建一个根组件 h ...
- vue+七牛云 截图工具
1.安装:npm install vue-cropper 2.引入:import VueCropper from 'vue-cropper' Vue.use(VueCropper) <templ ...
- ajax结合mysql数据库和smarty实现局部数据状态的刷新
效果状态:通过点击锁定状态实现状态锁定与不锁定之间的切换 1.主程序:01.php导入smarty和mysql类,取得数据导入列表模板 <?php include './include/M ...
- 断句:Store all parameters but the first passed to this function as an array
// Store all parameters but the first passed to this function as an array //除了第一个参数,把调用publish函数时的所有 ...
- 图解 HTTP 笔记(七)——HTTPS
本章主要讲解 HTTPS 的基本原理,以及如何利用 HTTPS 防范 HTTP 通信过程中存在的伪装.窃听.篡改等问题 一.HTTP 的缺点 HTTP 在通信过程中会面临以下三种安全问题: 通信使用明 ...