後端開發過程遇到的問題總結(3)
這個東西真給我搞吐了,網上找了很多方法,最終在同學的幫助下終於解決了此問題!話不多說,直接上方法!
(1)下載MySQL Connector C++和boost庫,我使用的是MySQL Connector C++ 1.1.12版本的庫,下載好以後進入vs2017,選擇項目屬性-》C/C++-》常規-》附加包含目錄,然後導入下載的庫,如圖:
(2)鏈接器-》常規-》附加庫目錄,如圖:
(3)鏈接器-》輸入-》附加依賴項,輸入以下兩行,如圖:
配置完成!!使用時添加頭文件:
#pragma once
#include <iostream>
#include "mysql_connection.h"
#include "mysql_driver.h"
#include "mysql_error.h"
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>
#pragma comment(lib,"..\\lib\\opt\\mysqlcppconn.lib")
測試代碼如下:
實現MySQL查詢功能:
//頭文件
#pragma once
#include <iostream>
#include "mysql_connection.h"
#include "mysql_driver.h"
#include "mysql_error.h"
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>
#pragma comment(lib,"..\\lib\\opt\\mysqlcppconn.lib")
using namespace std;
class MysqlQuery
{
public:
MysqlQuery();
~MysqlQuery();
sql::Driver *driver;
sql::Connection *con;
sql::Statement *stmt;
//sql::ResultSet *res;
sql::ResultSet * Query(string sql);
};
//cpp文件
#include "stdafx.h"
#include "MysqlQuery.h"
MysqlQuery::MysqlQuery()
{
driver = get_driver_instance();
con = driver->connect("****", "****", "****"); // 需要修改爲你數據庫的ip地址和用戶密碼
/* 連接 MySQL 數據庫 university */
con->setSchema("dcxm");
stmt = con->createStatement();
}
MysqlQuery::~MysqlQuery()
{
delete stmt;
delete con;
//delete res;
}
sql::ResultSet * MysqlQuery::Query(string sql) {
return stmt->executeQuery(sql);
}
最後運行會有出錯的情況,說明缺少dll文件,添加如圖dll文件到System32目錄即可!
測試結果:
編譯成功,代碼運行一切正常!!測試結果與預期結果一致!大功告成!!