linux cpp g++ mysqlconnector
1.install mysql in ubuntu;
2install mysqlconnector;
1 | sudo apt install libmysqlclient-dev |
3.complete code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | #include <algorithm> #include <chrono> #include <cstdio> #include <cstdint> #include <cstdlib> #include <ctime> #include <fstream> #include <iomanip> #include <iostream> #include <random> #include <sstream> #include <thread> #include <vector> #include <mysql_connection.h> #include <mysql_driver.h> #include <mysql_error.h> // #include <cppconn/driver.h> // #include <cppconn/connection.h> // #include <cppconn/exception.h> // #include <cppconn/metadata.h> // #include <cppconn/parameter_metadata.h> #include <cppconn/prepared_statement.h> #include <cppconn/resultset.h> #include <cppconn/resultset_metadata.h> // #include <cppconn/sqlstring.h> std::string get_time_now() { std::chrono::time_point<std::chrono::high_resolution_clock> now = std::chrono::high_resolution_clock::now(); time_t raw_time = std::chrono::high_resolution_clock::to_time_t(now); struct tm tm_info = * localtime (&raw_time); std::stringstream ss; ss << std::put_time(&tm_info, "%Y%m%d%H%M%S" ); return ss.str(); } void connect_mysql() { try { sql::Driver *driver; sql::Connection *conn; sql::Statement *stmt; sql::ResultSet *res; driver = sql::mysql::get_driver_instance(); conn = driver->connect( "tcp://127.0.0.1:3306" , "root" , "password!" ); conn->setSchema( "mysql" ); stmt = conn->createStatement(); res = stmt->executeQuery( "select * from db;" ); sql::ResultSetMetaData *rsmd = res->getMetaData(); int column_count = rsmd->getColumnCount(); std::cout << "Number of rows : " << res->rowsCount() << std::endl; std::cout << "Number of columns : " << column_count << std::endl; while (res->next()) { for ( int i = 1; i < column_count; i++) { std::cout << res->getString(i) << "," ; } std::cout << res->getString(column_count) << std::endl; } delete res; delete stmt; delete conn; } catch (sql::SQLException &e) { std::cout << "# ERR: SQLException in " << __FILE__ << "(" << __FUNCTION__ << ") on line " << __LINE__ << std::endl; std::cout << "# ERR: " << e.what() << " (MySQL error code: " << e.getErrorCode() << ", SQLState: " << e.getSQLState() << " )" << std::endl; } } int main( int args, char **argv) { connect_mysql(); std::cout << get_time_now() << ",finished in " << __FUNCTION__ << std::endl; } |
Compile
1 | g++-12 -std=c++2a -I. *.cpp -o h1 -lmysqlcppconn |
Run
1 | ./h1; |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2020-07-21 WPF button change content size