1.下载最新的Connector
https://dev.mysql.com/downloads/connector/cpp/,下载带debug的库。
解压缩到本地,本次使用的是带debug模式的connector库:
注:其中mysqlcppconn与mysqlcppconn8的区别是:
2.在cmakelist中定义寻址头文件的路径与库的路径
#定义头文件需要寻址的路径
include_directories(
D:/Library/mysql-connector-c++-8.2.0-winx64/include/jdbc
)
#定义库文件需要寻址的路径
link_directories(
D:/Library/mysql-connector-c++-8.2.0-winx64/lib64/vs14/debug
)
target_link_libraries(QtDemo2
Qt5::Core
Qt5::Gui
Qt5::Widgets
......
mysqlcppconn
)
3.复制对应的DLL到可执行目录
把D:\Library\mysql-connector-c+±8.2.0-winx64\lib64\debug中的mysqlcppconn-9-vs14.dll复制到项目的可执行目录下。
3.基础使用
https://dev.mysql.com/doc/connector-cpp/1.1/en/connector-cpp-examples-connecting.html
#include"sql_connector.h"#include"string"#include<QDebug>#include"mysql_connection.h"#include"cppconn/driver.h"#include"cppconn/exception.h"#include"cppconn/prepared_statement.h"voidSqlConnector::process(){qDebug("SqlConnector started....");
std::string server ="tcp://localhost:3306";
std::string username ="root";
std::string password ="Xi1ozh#1";
sql::Driver* driver;
sql::Connection* connection;try{
driver =get_driver_instance();
connection = driver->connect(server, username, password);
connection->setSchema("ws300");}catch(sql::SQLException e){
std::cout <<"Could not connect to server. Error message: "<< e.what()<<"\n";}//查询
sql::SQLString sql("select * from users;");
std::unique_ptr<sql::Statement>statment(connection->createStatement());
statment->execute("set names utf8mb4");
std::unique_ptr<sql::ResultSet>result(statment->executeQuery(sql));while(result->next()){auto data = result->getString("password").asStdString();qDebug("SqlConnector username: %s", data.c_str());}
result->close();
statment->close();
connection->close();delete connection;qDebug("SqlConnector finished....");}
版权归原作者 zhexiao27 所有, 如有侵权,请联系我们删除。