C# · 12月 20, 2021

C++ 连接数据库的入口和获取列数、数据

这里不具体放出完整的程序,分享两个核心函数:

     前提,我自己的测试数据库是WampServe自带的MysqL,曾经试过连接新浪云的,发现很坑,它里面的要放代码进去它空间才能连,不能在本机连,连接的输入形参全是它规定的常量!

第一个是连接数据库的:

      行内带有详细注释,皆本人的见解,有理解错的,求帮指出。

      再作简单介绍,之所有带有int返回类型,是因为一旦连接数据库失败就return 0 结束程序。

形参所输入的分别是 数据库地址、端口,本机的端口一般是3306、数据库名、用户名、密码,调用就能用了。

DateBase::init( * host, port, * database, * user, * ->MysqL_res = NULL; my_bool opt_reconnect=; MysqL_init(&(->conn)); MysqL_options(&(->conn),MysqL_SET_CHARSET_NAME,( *) MysqL_options(&(->conn),MysqL_OPT_RECONNECT,( *)& (!MysqL_real_connect(&(->conn),host,user,password,database,port,NULL,CLIENT_MULTI_STATEMENTS| cout<<host<<user<<password<<database<<port<conn), }

下面这个是在连接数据库成功后:

      用来获取数据库中表的列名,并且在依次、有顺序地输出列名后输出所有数据的函数。

      里面一样注释齐全,还不明白的请留言!有错的请留言告诉我咯。谢谢!

      请读者认清里面的函数,下作简介:

 

DateBase::show_db(){ MysqL_FIELD * check(); MysqL_res=MysqL_list_tables(&(this->conn),”user_1″); (MysqL_query(&(->conn),)!=){ cout files=MysqL_fetch_fields(->MysqL_res); (i=;iMysqL_res);i++){ cout<<std::left<<std::setw();cout<<files[i].name; cout<MysqL_res)){ (j=;jMysqL_res);j++ (MysqL_row[j]==NULL){ cout<< cout<<std::left<<std::setw();cout<< cout<< MysqL_free_result(MysqL_res); }