一篇文章掌握C++操作Access数据库

news2024/12/23 1:11:45

一、可视化工具

我们都知道oracle数据库的可视化工具有:PLSQL Developer、navicat(支持包括oracle的大部分数据库)等,Access数据库的可视化工具是:Microsoft Access,我们安装好微软的office就会自带Microsoft Access,下面提供navicat和Microsoft Office的下载链接,都是破解版的,自带破解软件:

navicat下载地址:https://pan.baidu.com/s/1zZndNll-dcCr5mLbh_MGYA  提取码:1234

Microsoft Access下载地址:https://pan.baidu.com/s/1Rfsbs4U3cZqVgxecb6KwYQ   提取码:1234

为了更好所见即所得的操作Access数据库,我们安装上面的Microsoft Access数据库。

二、安装Access数据库驱动 

如果你的程序是32位的,需要安装32位的Access数据库驱动,如果你的程序是64位的,需要安装64位的数据库驱动。如何判断自己的程序是32位还是64位,我们只需要看一下"配置管理器"里面"平台"是Win32还是X64,如下图则程序是32位的:

下面提供Access驱动的下载地址,包括32位和64位两个版本:

https://pan.baidu.com/s/1UbO6ABrKSsSJ78i3_xE1aA    提取码:1234

三、数据库连接字符串

在使用C++操作数据库 增删改查 之前,首先要连接上数据库,这里我们使用ADO来连接,连接字符串很重要,通过驱动类型来确定连接字符串的格式,我们可以通过:控制面板--管理工具--ODBC数据源(分为32位和64位)来进行查看驱动类型:

(1)用32位的数据源管理程序查看32位驱动的类型,如下图:

连接字符串格式为:zzc1.mdb要换成你自己的数据库文件

_bstr_t StrConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\zzc1.mdb"

(2)用64位的数据源管理程序查看64位驱动的类型,如下图:

 连接字符串格式为:zzc1.mdb要换成你自己的数据库文件

_bstr_t StrConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\zzc1.mdb;Persist Security Info=False;";

四、使用简单的查询操作进行测试

1、使用Microsoft Access可视化工具创建一个简单的表:

2、测试代码:

// access_test.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <string>
using namespace std;

#import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename_namespace("ADOCG") rename("EOF", "EndOfFile")
using namespace ADOCG;

_ConnectionPtr  m_pConnection;
_RecordsetPtr   m_pRecordset;

int _tmain(int argc, _TCHAR* argv[])
{
	CoInitialize(NULL);

	m_pConnection.CreateInstance(__uuidof(Connection));

	//_bstr_t StrConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\zzc1.mdb";
	_bstr_t StrConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\zzc1.mdb;Persist Security Info=False;";

	try {
		m_pConnection->Open(StrConn, "", "", adModeUnknown);
	}
	catch (_com_error &e)
	{
		_bstr_t str = e.Source();
		str = e.Description();
	}
	printf("数据库连接成功\r\n");


	m_pRecordset.CreateInstance(__uuidof(Recordset));

	m_pRecordset->Open("select * from student", m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adModeUnknown);
	_variant_t var;
	int curItem = 0;

	int id;
	string name;
	bool man = false;
	while (!m_pRecordset->GetEndOfFile())
	{
		var = m_pRecordset->GetCollect(_T("name"));
		if (var.vt != NULL)
			name = _bstr_t(var);

		var = m_pRecordset->GetCollect(_T("id"));
		if (var.vt != NULL)
			id = atoi(_bstr_t(var));

		var = m_pRecordset->GetCollect(_T("isman"));
		if (var.vt != NULL)
			man = var.boolVal;

		printf("id=%d,name=%s, man = %d\r\n",id, name.c_str(), man);

		m_pRecordset->MoveNext();
		curItem++;
	}

	system("pause");
	return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1119445.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv5:修改backbone为SPD-Conv

YOLOv5&#xff1a;修改backbone为SPD-Conv 前言前提条件相关介绍SPD-ConvYOLOv5修改backbone为SPD-Conv修改common.py修改yolo.py修改yolov5.yaml配置 参考 前言 记录在YOLOv5修改backbone操作&#xff0c;方便自己查阅。由于本人水平有限&#xff0c;难免出现错漏&#xff0c…

【linux】查看下载应用在服务器的日志

查看日志路径 一般在配置文件中logback.xml 账号密码xshell连接服务器&#xff0c;进入日志路径 根据搜索关键字查看xxx.log文件内容 cat xxx.log | grep 关键字 下载 xxx.log 到本地&#xff0c;一般可以下载当天的日志文件到本地查看比较方便 sz xxx.log 参考文章&#xff…

【数字IC设计/FPGA】FIFO与流控机制

流控&#xff0c;简单来说就是控制数据流停止发送。常见的流控机制分为带内流控和带外流控。 FIFO的流水反压机制 一般来说&#xff0c;每一个fifo都有一个将满阈值afull_value&#xff08;almost full&#xff09;。当fifo内的数据量达到或超过afull_value时&#xff0c;将满…

【Leetcode】【中等】260. 只出现一次的数字 III

给你一个整数数组 nums&#xff0c;其中恰好有两个元素只出现一次&#xff0c;其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。 示例 1&#xff1a; 输入&…

904. 水果成篮(滑动窗口)

目录 一、题目 二、代码 一、题目 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 二、代码 题目实质&#xff1a;找出一个最长的子数组的长度&#xff0c;要求子数组中不超过两种类型的水果哈希表双指针 class Solution { public:int totalFru…

【XOR秘钥破解】异或加密秘钥破解

1、代码 # -*- coding:utf-8 -*- import binasciioriginal_text input("请输入XOR加密前&#xff08;字 符 串&#xff09;&#xff1a;") encrypted_text input("请输入XOR加密后&#xff08;十六进制&#xff09;&#xff1a;")# 先将original_text文…

P1004 [NOIP2000 提高组] 方格取数

[NOIP2000 提高组] 方格取数 - 洛谷 用四维dp数组存储&#xff0c;如果两个路线走到重复点&#xff0c;减去一个当前位置的值即可。 #include <bits/stdc.h> using namespace std; const int N 11; int grid[N][N] {0}; int dp[N][N][N][N] {0}; int n, i, j, tmp; v…

中级职称评审为什么要找机构?甘建二给你分析

职称申报为什么要找机构代理呢&#xff1f;主要是机构可以帮助整理业绩和各种申报材料&#xff0c;而且还可以帮忙网上申报。让您不会错过申报时间什么的&#xff0c;平时个人都是上班太忙了&#xff0c;没有空准备申报材料之类的各种&#xff0c;而且随时掌握申报信息&#xf…

基于springboot零食商城

基于springboot零食购物商城 摘要 基于Spring Boot的零食商城是一个现代化的电子商务平台&#xff0c;旨在为零食爱好者提供便捷的购物体验。该平台使用Spring Boot框架构建&#xff0c;以确保高效的开发和部署。它提供了用户注册、登录、个性化账户管理&#xff0c;以及展示各…

ubuntu18设置root密码

Ubuntu18启用root设置密码 第一步&#xff0c;使用sudo -i命令进入超级用户。 第二步&#xff0c;输入命令passwd root&#xff0c;进入root密码设置。 第三步&#xff0c;输入root的密码。 第四步&#xff0c;再次输入root密码进行确认。 若是修改其他用户的密码&#xff0c;可…

牛客TOP101-判断链表中是否有环

前言 本文以Java为语言讲解【判断链表中是否有环】这一题&#xff0c;题目来源【牛客TOP101】 题目描述 输入用例 解题思路 Hash表法 对于这道题&#xff0c;比较容易想到的可能是使用hash表&#xff0c;因为如果是有环&#xff0c;那么就意味着&#xff0c;在遍历过程中…

c++之类和对象

1.auto 可以自动推导结果的类型 typeid()可以打印类型 引用也可以 auto真正的价值可以简化迭代器的写法 并且auto定义的变量必须初始化。 不能做参数 返回值也不可以用auto auto不能用来声明数组 如果想要修改要用引用且指针不好解决。 c11之后的nullptr 以后再用空指针用nul…

qt采用C++/CLI 方式调用C#dll的封装方法(高阶应用)

简单讲讲需求&#xff1a;cpp作为主程序&#xff0c;c#作为第三方程序被调用&#xff0c;并且需要在c#代码里调用主程序里的方法 C#写的dll是没有dllMain入口函数的&#xff0c;是一种中间语言&#xff0c;需要.Net运行时进行做本地化工作&#xff0c;因此如果要调用C#写的dll…

OpenStack云计算平台实战-----创建空白虚拟机

1、创建空白虚拟机 需要注意的步骤会截图一下&#xff0c;其它的基本都是下一步&#xff0c;默认的即可 建议将虚拟机命名为自己的名字加后缀 将处理器数量和每个处理器的内核量都修改为2 将虚拟机的内存设置为8G&#xff0c;不然不够用 将指定磁盘大小设置为200G&#xff0c;…

面试题:什么是微服务 ?

文章目录 微服务是什么微服务是什么样的服务化的前提服务的发布与引用声明式Restful API服务的注册与发现一致性与可用性注册方式存储结构服务健康监测状态变更通知 服务的远程通信网络I/O的处理传输协议序列化方式 注册中心如何保障稳定性节点信息的保障服务节点的摘除服务节点…

微信分销小程序商城的作用是什么

众人拾柴火焰高&#xff0c;分销商城值得是商家通过一定比列的佣金或奖品激励会员或用户分销商品/服务的手段&#xff0c;以低成本获得高收益&#xff0c;也成为不少线上线下商家寻求增长的一种方法。 商家难以完善“引流拓客-转化-留存-复购-裂变-分享”等路径&#xff0c;导…

游戏反虚拟框架检测方案

游戏风险环境&#xff0c;是指独立于原有设备或破坏设备原有系统的环境。常见的游戏风险环境有&#xff1a;iOS越狱、安卓设备root、虚拟机、虚拟框架、云手机等。 因为这类风险环境可以为游戏外挂、破解提供所需的高级别设备权限&#xff0c;所以当游戏处于这些设备环境下&am…

Element UI 密码输入框--可切换显示隐藏,自定义图标

<el-form-item prop"password"><el-inputkeyup.enter.native"login"placeholder"密码"v-model"formData.password":type"showPassword ? text : password"><i slot"suffix" click"switchPas…

策略模式在社会中的应用

文章目录 &#x1f31f; 如何将设计模式策略模式运用到社会当中&#x1f34a; 什么是策略模式&#x1f34a; 策略模式在社会中的应用&#x1f389; 1. 政治选举&#x1f389; 2. 商业竞争&#x1f389; 3. 教育培训 &#x1f34a; 策略模式的优缺点&#x1f389; 优点&#x1f…

SSM - Springboot - MyBatis-Plus 全栈体系(三十三)

第八章 项目实战 终极实战&#xff1a;SpringBoot 版微头条实战 一、微头条案例介绍 1. 微头条业务简介 用户功能 注册功能登录功能jwt 实现 头条新闻 新闻的分页浏览通过标题关键字搜索新闻查看新闻详情新闻的修改和删除 2. 技术栈介绍 2.1 前端技术栈 ES6 作为基础 J…