https://blog.csdn.net/qq_38611124/article/details/84986527

目录

一、Ado类

二、数据库类型

1、access数据库

2、SQL数据库

3、oracle数据库

三、函数使用

3-1Connect

参数说明

函数使用

3-2Select

参数说明

函数使用--查询

3-3GetFieldByIndex

参数说明

3-4ExecSQL

参数说明

函数使用---插入

函数使用---删除

函数使用---修改



一、Ado类

函数名 函数说明
AddParam  
Connect 连接数据库
CreateProc  
ExecProc  
ExecSQL 数据库增、删、改、查
GetFieldType  
GetFieldValue 根据数据库的字段名获取数据
GetFieldMoney  
GetFieldByIndex 根据数据库第几条数据获取数据
GetFieldCount  
GetFieldName  
GetRecordCount  
GetLastError 获取数据操作失败原因
GetValue  
Select 返回所有匹配数据的记录
Release  
IsEOF 判断数据库是否为空
MoveNext 数据库的指针指向当前数据的后一个数据
MovePrev 数据库的指向当前数据的前一个数据
MoveFirst 数据库的指针指向第一个数据
MoveLast 数据库的指针指向最后一个数据

二、数据库类型

1、access数据库

DBT_ACCESS

2、SQL数据库

DBT_SQL

3、oracle数据库

DBT_ORACLE

三、函数使用

3-1Connect

参数说明

参数 说明
eType 数据库类型:DBT_ACCESS、DBT_SQL、DBT_ORACLE
szDatabase 数据库名字
szPass 密码
szUser 用户名
szHost  

函数使用

CAdoLx ado;
if(!ado.Connect(CAdoLx::DBT_ACCESS,_T("./access.accdb")))AfxMessageBox(ado.GetLastError());

3-2Select

参数说明

参数 说明
szSQL 操作(LPCTSTR类型)

函数使用--查询

/*-----------------------无条件查询---------------------------------*/
CAdoLx ado;
if(ado.Connect(DBT::ACCESS,_T("./access.accdb")))AfxMessageBox(ado.GetLastError());
CString szSelect = _T("SELECT *FROM access");    //查询数据库access表的全部数据
if(!ado.Select(szSelect))AfxMessageBox(ado.GetLastError());/*
获取数据库中所有的数据
1、判断数据库指针是否为空:IsEOF
2、读取数据:GetFieldByIndex
3、将数据库指针移动到下一个:MoveNext
*/
while(!ado.IsEOF())
{CString szStr;int nID;ado.GetFieldByIndex(0,&nID);    //读取数字类型ado.GetFieldByIndex(1,szStr);   //读取字符串类型ado.MoveNext();
}/*-----------------------有条件查询---------------------------------*/
CAdoLx ado;
if(ado.Connect(DBT::ACCESS,_T("./access.accdb")))AfxMessageBox(ado.GetLastError());
/*
操作:SELECT *FROM
表名:access
查询:f_name\f_pass是数据表列名,'access'\'access'是数据表的某一条数据    AND是两者都要存在
*/
CString szSelect = _T("SELECT *FROM access WHERE f_name='access' AND f_pass='access'");
ado.Select(szSelect)
if(!ado.IsEOF())AfxMessageBox(_T("查询数据失败!"));

3-3GetFieldByIndex

参数说明

参数 说明
nIndex 数据库中第几列数据
tValue 数据缓冲区

3-4ExecSQL

参数说明

参数 说明
szSQL 操作(LPCTSTR类型)

函数使用---插入

/*-----------------------插入全部----------------------------------*/
CAdoLx ado;
if(ado.Connect(DBT::ACCESS,_T("./access.accdb")))AfxMessageBox(ado.GetLastError());
/*
插入的操作:INSERT INTO
表名:access
插入的数据:VALUE括号内的数据,1001是数字  '姓名'是文字,用单引号  '2019-7-26'是日期,也用单引号
*/
CString szSql = _T("INSERT INTO access VALUE(1001,'姓名','2019-7-26')");
if(0 > ado.ExecSQL(szSql))AfxMessageBox(szSql);/*-----------------------插入部分----------------------------------*/
CAdoLx ado;
if(ado.Connect(DBT::ACCESS,_T("./access.accdb")))AfxMessageBox(ado.GetLastError());
/*
插入的操作:INSERT INTO
表名:access
插入的数据:f_id\f_name是列名,表示要在那一列插入VALUE括号内的数据,1001是数字  '姓名'是文字,用单引号
*/
CString szSql = _T("INSERT INTO access (f_id,f_name) VALUE(1001,'姓名')");
if(0 > ado.ExecSQL(szSql))AfxMessageBox(szSql);

函数使用---删除

/*-------------------删除表-------------------------*/
CAdoLx ado;
if(ado.Connect(DBT::ACCESS,_T("./access.accdb")))AfxMessageBox(ado.GetLastError());
/*
插入的操作:DELETE FROM
表名:access
删除整个数据表
*/
CString szSql = _T("DELETE FROM access");
if(0 > ado.ExecSQL(szSql))AfxMessageBox(szSql);/*-------------------删除一条数据-------------------------*/
CAdoLx ado;
if(ado.Connect(DBT::ACCESS,_T("./access.accdb")))AfxMessageBox(ado.GetLastError());
/*
插入的操作:DELETE FROM
表名:access
删除整个数据表:f_id是列名,根据列名来删除    %s是具体的某一条数据,不分数字、字符串
*/
CString szSql = _T("DELETE FROM access WHERE f_id = %s");
if(0 > ado.ExecSQL(szSql))AfxMessageBox(szSql);

函数使用---修改

CAdoLx ado;
if(ado.Connect(DBT::ACCESS,_T("./access.accdb")))AfxMessageBox(ado.GetLastError());
/*
插入的操作:UPDATE 表名 SET 更新的数据
表名:access
修改:f_id\f_name\f_time是要修改数据的列名    f_id是要修改的那一条数据   字符串用单引号,数字不用
*/
CString szSql = _T("UPDATE access SET f_id=1,f_name='access',f_time='2019-1-1' WHERE f_id=1");
if(0 > ado.ExecSQL(szSql))AfxMessageBox(szSql);

吕鑫数据库的使用Ado相关推荐

  1. 吕鑫的Ado数据库函数

    AdoLx.h // AdoLx.h: Version 1.1(支持Unicode.支持VS2015和VC6编译环境) //支持Unicode.支持Access.SQLServer和Oracle三大数 ...

  2. 有孚网络副总裁吕鑫:合纵连横,云领未来—如何打造低成本混合云架构

    上海有孚网络公司已成功打造知名的服务品牌"阳光互联",通过云计算方式向企业提供低成本高性能的平台式信息化服务,已成为中国首批最大的云计算服务商之一.从设计初衷就前瞻性的定位成为中国 ...

  3. !!!. 数据库的编程(ADO) --- 三种sql语句执行的不同

    Description: 一. 数据库的编程(ADO)       要用ADO连接数据的头文件中加入    #import "c:\Program Files\Common Files\Sy ...

  4. 吕鑫MFC学习系列一

    前面有学习MFC比较零乱,利用假期好好恶补一下,接下来按照在网易公开课上吕鑫老师的MFC的教程来学习MFC的开发. 第一个学习的是员工管理系统,先把实现好的窗口贴上来. 主要的功能:添加(员工的工号, ...

  5. 吕鑫:VC++6.0就业培训宝典之MFC视频教程

    视频下载地址: 点击下载 备用下载地址: 点击下载 作者简介 吕鑫,著名软件架构设计师和就业培训专家.从1996年开始使用MFC从事Windows软件开发,是极其罕见的第一代Windows程序员.自2 ...

  6. 从技术出发 | 有孚网络吕鑫:生信海量数据管理的实践与探讨

    ​从技术出发,推动行业交流,促进体外诊断行业发展--8月27日,2020EDC之2020第四届中国医学检验实验室高峰论坛&2020第三届生物信息分析应用论坛在宁波盛大拉开帷幕.大会聚焦前沿技术 ...

  7. 吕鑫MFC学习系列七

    接着上一节的知识点继续学习MFC的一些重要函数,因为函数设计MFC的基础. 第一步,创建一个MFC工程,然后再将上一节的两个功能添加进来,通过类向导添加DestroyWindow(),第二个按钮通过c ...

  8. 2021大数据助力精准医疗产业沙龙 | 有孚网络吕鑫:基于专有云打造生物信息云平台

    ​2021年5月12日,大数据助力精准医疗产业沙龙在上海国际医学园区站成功举办.此次会议由中国医药生物技术协会基因检测技术分会.上海市浦东新区生物产业行业协会.中国遗传学会遗传诊断分会.长三角一体化基 ...

  9. 吕鑫MFC学习系列十

    继续吕鑫VS2015的MFC类封装原理学习: 前面已经介绍过了,这一节实现一个员工管理系统中的数据管理和显示. 看一下代码: // workDlg.cpp : 实现文件 //#include &quo ...

最新文章

  1. 泛前端知识图谱(Web/iOS/Android/RN)
  2. 接力黄琨儿同志的《给玩命工作却对现状不满的IT人》
  3. granfana telegraf influx安装与使用
  4. python socket服务器多线程_Python多线程socket服务器端
  5. html5 文字转换烟花,HTML5交互式烟花(点击并保持)
  6. [远航笔记流水账]易大漠多线程初级教程086(1-3)
  7. IdentityServer4 4.x版本 配置Scope的正确姿势
  8. Collections带有的排序方法 传入的元素类型 需是子类或者这个类的实例
  9. linux连接mysql_主机Navicat连接linux(虚拟机)的mysql数据库
  10. mysql in 文本_MySQL_mysql 的load data infile,LOAD DATA INFILE语句从一个文本文 - phpStudy...
  11. 二进制与以 2 为底的指数
  12. Map-Reduce
  13. Vim编辑器常用命令汇总
  14. 世界地图矢量文件shp格式获取/下载方法
  15. 网易 android 加密,解析网易云音乐的加密方式
  16. 开源推荐 - CoDo开源一站式DevOps平台
  17. 聚观早报 | 蔚来手机公司正式成立;苹果将取消iPad全系耳机孔
  18. 单片机概述习题以及答案
  19. EOF while reading packet
  20. 室内电子地图-自定义室内地图-室内地图在线工具

热门文章

  1. CRC查表法运算原理
  2. elementui修改checkbox样式
  3. 知乎没有告诉你:年入百万有多难。
  4. linux 批量解压gz文件夹,linux 批量解压gz bz2文件
  5. TCP、UDP、TCP三次握手与四次挥手、TCP如何保证可靠传输、TCP异常分析、拆包和粘包等
  6. 一卡通系统服务器配置,一卡通服务器配置要求
  7. 【毕业设计】毕业设计的ppt中的模版相关设计和内容实现——为了将我的毕设整得好一些
  8. 很适合装逼的代码(Lambda表达式)
  9. Yade安装+优化教程
  10. 今天是1024程序员节,这是一段来自程序员最真实的内心自白,内容过于真实,我已泪崩。