测试数据库连接类--初步修改

本文介绍了一个使用C++实现的MySQL数据库连接示例,并展示了如何从数据库中获取表的字段和行数据,同时输出了客户端和服务端的相关信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. #include "connection.hpp"
  2. #include "table.hpp"
  3. #include <iostream>
  4. #include <string>
  5. #include <vector>
  6. #include <boost/foreach.hpp>
  7. #include <exception>
  8. #include <functional>
  9. #include <algorithm>
  10. #include <map>
  11. int main(int argc, char* argv[])
  12. {
  13.   try
  14.     {
  15.       sqlpp::Connection conn("mysql","Localhost","root","yi_jun_jun");
  16.       if (conn.is_open())
  17.       {
  18.     std::cout<<"connect is ok"<<std::endl;
  19.       }
  20.       sqlpp::Table table("select * from user", conn);
  21.  
  22.       table.download();
  23.       sqlpp::Table::field_list my_fields = table.get_fields();
  24.       BOOST_FOREACH(std::string name, my_fields)
  25.     {
  26.       std::cout<<name<<std::endl;
  27.     }
  28.       sqlpp::Table::rows my_rows = table.get_rows<sqlpp::Table::row>();
  29.       std::cout<<"Host/t/tUser/t/tPassword"<<std::endl;
  30.       sqlpp::Table::row this_row;
  31.       BOOST_FOREACH( this_row,my_rows)
  32.       {
  33.       std::cout<<this_row["Host"]<<"/t/t"<<this_row["User"]<<"/t/t"<<this_row["Password"]<<std::endl;
  34.       }
  35.       std::cout<<"client info:"<<conn.get_client_info()<<std::endl;
  36.       std::cout<<"client version:"<<conn.get_client_version()<<std::endl;
  37.       std::cout<<"host info:"<<conn.get_host_info()<<std::endl;
  38.       std::cout<<"server info:"<<conn.get_server_info()<<std::endl;
  39.       std::cout<<"server version:"<<conn.get_server_version()<<std::endl;
  40.       std::cout<<"protocol version:"<<conn.get_protocol_version()<<std::endl;
  41.       std::cout<<"user:"<<conn.get_user()<<std::endl;
  42.       std::cout<<"database:"<<conn.get_database()<<std::endl;
  43.       std::cout<<"server:"<<conn.get_server()<<std::endl;
  44.       std::cout<<"password:"<<conn.get_password()<<std::endl;
  45.             
  46.     }
  47.   catch(const std::exception& e)
  48.     {
  49.       std::cout<<e.what()<<std::endl;
  50.     }
  51.   return 0;
  52. }
  53.     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值