#include "connection.hpp"
#include "table.hpp"
#include <iostream>
#include <string>
#include <vector>
#include <boost/foreach.hpp>
#include <exception>
#include <functional>
#include <algorithm>
#include <map>
int main(int argc, char* argv[])
{
try
{
sqlpp::Connection conn("mysql","Localhost","root","");
if (conn.is_open())
{
std::cout<<"connect is ok"<<std::endl;
}
sqlpp::Table table("select * from user");
conn.download(table);
typedef std::map<std::string,std::string> row;
typedef std::vector< row > rows;
sqlpp::field_list my_fields = table.get_fields();
BOOST_FOREACH(std::string name, my_fields)
{
std::cout<<name<<std::endl;
}
const rows& my_rows = table.get_rows_index_string();
std::cout<<"Host/t/tUser/t/tPassword"<<std::endl;
BOOST_FOREACH( row this_row,my_rows)
{
std::cout<<this_row["Host"]<<"/t/t"<<this_row["User"]<<"/t/t"<<this_row["Password"]<<std::endl;
}
std::cout<<"client info:"<<conn.get_client_info()<<std::endl;
std::cout<<"client version:"<<conn.get_client_version()<<std::endl;
std::cout<<"host info:"<<conn.get_host_info()<<std::endl;
std::cout<<"server info:"<<conn.get_server_info()<<std::endl;
std::cout<<"server version:"<<conn.get_server_version()<<std::endl;
std::cout<<"protocol version:"<<conn.get_protocol_version()<<std::endl;
std::cout<<"user:"<<conn.get_user()<<std::endl;
std::cout<<"database:"<<conn.get_database()<<std::endl;
std::cout<<"server:"<<conn.get_server()<<std::endl;
std::cout<<"password:"<<conn.get_password()<<std::endl;
}
catch(const std::exception& e)
{
std::cout<<e.what()<<std::endl;
}
return 0;
}
makefile文件部分:
mysql-conpiler-flag = `mysql_config --cflags`
mysql-link-flag = `mysql_config --libs`
tutor:main.o connection.o table.o sqlerror.o
g++ -g -o $@ $< connection.o table.o sqlerror.o $(mysql-link-flag)
main.o:main.cpp connection.hpp table.hpp
g++ -g -c $<
connection.o:connection.cpp table.hpp
g++ -g -c $<
table.o:table.cpp
g++ -g -c $<
sqlerror.o:sqlerror.cpp
g++ -g -c $<
clean:
rm -rf *.o
rm -rf tutor
#include "table.hpp"
#include <iostream>
#include <string>
#include <vector>
#include <boost/foreach.hpp>
#include <exception>
#include <functional>
#include <algorithm>
#include <map>
int main(int argc, char* argv[])
{
try
{
sqlpp::Connection conn("mysql","Localhost","root","");
if (conn.is_open())
{
std::cout<<"connect is ok"<<std::endl;
}
sqlpp::Table table("select * from user");
conn.download(table);
typedef std::map<std::string,std::string> row;
typedef std::vector< row > rows;
sqlpp::field_list my_fields = table.get_fields();
BOOST_FOREACH(std::string name, my_fields)
{
std::cout<<name<<std::endl;
}
const rows& my_rows = table.get_rows_index_string();
std::cout<<"Host/t/tUser/t/tPassword"<<std::endl;
BOOST_FOREACH( row this_row,my_rows)
{
std::cout<<this_row["Host"]<<"/t/t"<<this_row["User"]<<"/t/t"<<this_row["Password"]<<std::endl;
}
std::cout<<"client info:"<<conn.get_client_info()<<std::endl;
std::cout<<"client version:"<<conn.get_client_version()<<std::endl;
std::cout<<"host info:"<<conn.get_host_info()<<std::endl;
std::cout<<"server info:"<<conn.get_server_info()<<std::endl;
std::cout<<"server version:"<<conn.get_server_version()<<std::endl;
std::cout<<"protocol version:"<<conn.get_protocol_version()<<std::endl;
std::cout<<"user:"<<conn.get_user()<<std::endl;
std::cout<<"database:"<<conn.get_database()<<std::endl;
std::cout<<"server:"<<conn.get_server()<<std::endl;
std::cout<<"password:"<<conn.get_password()<<std::endl;
}
catch(const std::exception& e)
{
std::cout<<e.what()<<std::endl;
}
return 0;
}
makefile文件部分:
mysql-conpiler-flag = `mysql_config --cflags`
mysql-link-flag = `mysql_config --libs`
tutor:main.o connection.o table.o sqlerror.o
g++ -g -o $@ $< connection.o table.o sqlerror.o $(mysql-link-flag)
main.o:main.cpp connection.hpp table.hpp
g++ -g -c $<
connection.o:connection.cpp table.hpp
g++ -g -c $<
table.o:table.cpp
g++ -g -c $<
sqlerror.o:sqlerror.cpp
g++ -g -c $<
clean:
rm -rf *.o
rm -rf tutor