Mysql Connector/c++库的下载和利用(Windows)

打印 上一主题 下一主题

主题 1895|帖子 1895|积分 5685

情况配置

情况: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

向项目中添加头文件和库文件(配置解决方案)



  • 附加包罗目录设置解压后的include路径:

  • 附加库目录设置解压后的lib/64/vs14路径

  • 附加依赖项设置

  • 拷贝解压后的lib64目录下的所有.dll到与main函数文件同级的目录下 (大概放到.exe同级的目录也可以)

  • 测试下如下代码能不能正常编译
  1. #include "jdbc/mysql_driver.h"
  2. #include "jdbc/mysql_connection.h"
  3. #include "jdbc/cppconn/driver.h"
  4. #include "jdbc/cppconn/connection.h"
  5. #include "jdbc/cppconn/statement.h"
  6. #include "jdbc/cppconn/prepared_statement.h"
  7. #include "jdbc/cppconn/resultset.h"
  8. #include "jdbc/cppconn/metadata.h"
  9. #include "jdbc/cppconn/resultset_metadata.h"
  10. #include "jdbc/cppconn/exception.h"
  11. #include "jdbc/cppconn/warning.h"
  12. #include <mysql/jdbc.h>
  13. #define DBHOST "tcp://127.0.0.1:3306"
  14. #define USER "root"
  15. #define PASSWORD "123456"
  16. #define DATABASE "sys"
  17. using namespace std;
  18. using namespace sql;
  19. int main()
  20. {
  21.     try
  22.     {
  23.         //连接数据库
  24.         Driver* driver = get_driver_instance();
  25.         Connection* conn = driver->connect(DBHOST, USER, PASSWORD);
  26.         Statement* stm;
  27.         if (!conn->isValid()) {
  28.             cout << "数据库连接无效" << endl;
  29.             return 0;
  30.         }
  31.         else
  32.             cout << "数据库连接成功" << endl;
  33.         //创建 test 表,添加数据
  34.         stm = conn->createStatement();
  35.         stm->execute("use " DATABASE);
  36.         stm->execute("DROP TABLE IF EXISTS test");
  37.         stm->execute("CREATE TABLE test(id INT,lable CHAR(1))");
  38.         stm->execute("INSERT INTO test(id,lable) VALUES(6,'A')");
  39.         stm->execute("INSERT INTO test(id,lable) VALUES(3,'A')");
  40.         stm->execute("INSERT INTO test(id,lable) VALUES(2,'A')");
  41.         //升序查询
  42.         ResultSet* rss;
  43.         rss = stm->executeQuery("SELECT id,lable FROM test ORDER BY id ASC");
  44.         while (rss->next())
  45.         {
  46.             /* code */
  47.             int id = rss->getInt(1);
  48.             string lable = rss->getString("lable");
  49.             cout << "id:" << id << ","
  50.                 << "lable:" << lable << endl;
  51.         }
  52.         
  53.         //删除
  54.         stm->execute("DELETE FROM test WHERE id=3");
  55.         //改
  56.         stm->execute("UPDATE test SET lable='B' WHERE id=2");
  57.         delete stm;
  58.         delete conn;
  59.         delete rss;
  60.     }
  61.     catch (const SQLException& sqle)
  62.     {
  63.         cout << "# ERR: SQLException in " << __FILE__;
  64.         cout << "(" << __FUNCTION__ << ") on line " << __LINE__ << endl;
  65.         std::cerr << "sql errcode:" << sqle.getErrorCode() << ",state:" << sqle.getSQLState() << ",what:" << sqle.what() << endl;
  66.     }
  67.     return 0;
  68. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宝塔山

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表