Mysql Connector/c++库的下载和利用(Windows)
情况配置情况:windows10, visual studio 2019,已安装mysql server 版本为8.0.36,项目配置visual studio解决方案时,利用的Release x64
下载Mysql Connector/c++
mysql官方提供了connector/c++版本,connector是mysql官方提供的驱动数据库的工具(api),connector支持c++,提供库文件和头文件,来利用。
https://dev.mysql.com/downloads/connector/cpp/
此处下载了压缩包的版本 mysql-connector-c+±8.3.0-winx64
https://i-blog.csdnimg.cn/blog_migrate/d33294b413fbd8ccc0cb6b17e3ca4621.png
向项目中添加头文件和库文件(配置解决方案)
[*]附加包罗目录设置解压后的include路径:
https://i-blog.csdnimg.cn/blog_migrate/393e90869c7330fc470dfa55b75982b1.png
[*]附加库目录设置解压后的lib/64/vs14路径
https://i-blog.csdnimg.cn/blog_migrate/86129ea9fb7de0ac329ff6ce8e1dfdbf.png
[*]附加依赖项设置
https://i-blog.csdnimg.cn/blog_migrate/bf0aa386898d1abcdede2966af06a213.png
[*]拷贝解压后的lib64目录下的所有.dll到与main函数文件同级的目录下 (大概放到.exe同级的目录也可以)
https://i-blog.csdnimg.cn/blog_migrate/e566da401271efabe277355909b32711.png
[*]测试下如下代码能不能正常编译
#include "jdbc/mysql_driver.h"
#include "jdbc/mysql_connection.h"
#include "jdbc/cppconn/driver.h"
#include "jdbc/cppconn/connection.h"
#include "jdbc/cppconn/statement.h"
#include "jdbc/cppconn/prepared_statement.h"
#include "jdbc/cppconn/resultset.h"
#include "jdbc/cppconn/metadata.h"
#include "jdbc/cppconn/resultset_metadata.h"
#include "jdbc/cppconn/exception.h"
#include "jdbc/cppconn/warning.h"
#include <mysql/jdbc.h>
#define DBHOST "tcp://127.0.0.1:3306"
#define USER "root"
#define PASSWORD "123456"
#define DATABASE "sys"
using namespace std;
using namespace sql;
int main()
{
try
{
//连接数据库
Driver* driver = get_driver_instance();
Connection* conn = driver->connect(DBHOST, USER, PASSWORD);
Statement* stm;
if (!conn->isValid()) {
cout << "数据库连接无效" << endl;
return 0;
}
else
cout << "数据库连接成功" << endl;
//创建 test 表,添加数据
stm = conn->createStatement();
stm->execute("use " DATABASE);
stm->execute("DROP TABLE IF EXISTS test");
stm->execute("CREATE TABLE test(id INT,lable CHAR(1))");
stm->execute("INSERT INTO test(id,lable) VALUES(6,'A')");
stm->execute("INSERT INTO test(id,lable) VALUES(3,'A')");
stm->execute("INSERT INTO test(id,lable) VALUES(2,'A')");
//升序查询
ResultSet* rss;
rss = stm->executeQuery("SELECT id,lable FROM test ORDER BY id ASC");
while (rss->next())
{
/* code */
int id = rss->getInt(1);
string lable = rss->getString("lable");
cout << "id:" << id << ","
<< "lable:" << lable << endl;
}
//删除
stm->execute("DELETE FROM test WHERE id=3");
//改
stm->execute("UPDATE test SET lable='B' WHERE id=2");
delete stm;
delete conn;
delete rss;
}
catch (const SQLException& sqle)
{
cout << "# ERR: SQLException in " << __FILE__;
cout << "(" << __FUNCTION__ << ") on line " << __LINE__ << endl;
std::cerr << "sql errcode:" << sqle.getErrorCode() << ",state:" << sqle.getSQLState() << ",what:" << sqle.what() << endl;
}
return 0;
}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]