日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

c++ mysql 配置文件_C++操作数据库写入到json配置文件中

發布時間:2025/3/12 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++ mysql 配置文件_C++操作数据库写入到json配置文件中 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 這次加了對int和varchar的處理

#include?

#include?

#include?

#include?

#include?"json/json.h"

#include?

#include?

using?namespace?std;

int?main(int?argc,?char*?argv[])

{

MYSQL?mysql;

mysql_init(?&mysql?);

mysql_real_connect(

&mysql,

"192.168.16.114",

"root",

"root",

"test",

3306,

NULL,

0

);

string?sql?=?"show?tables;";

mysql_query(?&mysql,?sql.c_str()?);

MYSQL_RES?*result?=?NULL;

result?=?mysql_store_result(?&mysql?);

vector?tables;

MYSQL_ROW?row?=?NULL;

//得到所有的表

row?=?mysql_fetch_row(?result?);

while?(?NULL?!=?row?)

{

tables.push_back(?row[0]?);

cout?<

row?=?mysql_fetch_row(?result?);

}

for(vector::const_iterator?cit?=?tables.begin();?cit?!=?tables.end();?++?cit)

{

sql?=?"select?*?from?"?+?*cit;

mysql_query(?&mysql,?sql.c_str()?);

cout?<

//得到表中列的數量

result?=?mysql_store_result(?&mysql?);

MYSQL_FIELD*?field?=?NULL;

ofstream?os;

string?tableName?=?*cit?+?".json";

os.open(?tableName.c_str()?);

Json::Value?jsonTable;

MYSQL_ROW?row1?=?mysql_fetch_row(?result?);

int?field_count?=?mysql_num_fields(?result?);

while?(?NULL?!=?row1?)

{

Json::Value?jsonRow;

for(int?i?=?0;?i?

{

field?=?mysql_fetch_field_direct(?result,?i?);

switch(field->type)

{

case?MYSQL_TYPE_TINY:

cout?<

break;

case?MYSQL_TYPE_SHORT:

cout?<

break;

case?MYSQL_TYPE_BLOB:

cout?<

break;

case?MYSQL_TYPE_LONG:

jsonRow[field->name]?=?Json::Value(?atoi(row1[i])?);

cout?<

break;

case?MYSQL_TYPE_VAR_STRING:

cout?<

jsonRow[field->name]?=?Json::Value(?row1[i]?);

break;

}

}

row1?=?mysql_fetch_row(?result?);

//cout?<

jsonTable.append(jsonRow);

}

os?<

os?<

os.close();

}

return?0;

}

上面只處理了一些兩種類型 其他類型如下

MYSQL_TYPE_TINY?????????????????????TINYINT字段

MYSQL_TYPE_SHORT????????????????????SMALLINT字段

MYSQL_TYPE_LONG?????????????????????INTEGER字段

MYSQL_TYPE_INT24????????????????????MEDIUMINT字段

MYSQL_TYPE_LONGLONG?????????????????BIGINT字段

MYSQL_TYPE_DECIMAL??????????????????DECIMAL或NUMERIC字段

MYSQL_TYPE_NEWDECIMAL???????????????精度數學DECIMAL或NUMERIC

MYSQL_TYPE_FLOAT????????????????????FLOAT字段

MYSQL_TYPE_DOUBLE???????????????????DOUBLE或REAL字段

MYSQL_TYPE_BIT??????????????????????BIT字段

MYSQL_TYPE_TIMESTAMP????????????????TIMESTAMP字段

MYSQL_TYPE_DATE?????????????????????DATE字段

MYSQL_TYPE_TIME?????????????????????TIME字段

MYSQL_TYPE_DATETIME?????????????????DATETIME字段

MYSQL_TYPE_YEAR?????????????????????YEAR字段

MYSQL_TYPE_STRING???????????????????CHAR字段

MYSQL_TYPE_VAR_STRING???????????????VARCHAR字段

MYSQL_TYPE_BLOB?????????????????????BLOB或TEXT字段(使用max_length來確定最大長度)

MYSQL_TYPE_SET??????????????????????SET字段

MYSQL_TYPE_ENUM?????????????????????ENUM字段

MYSQL_TYPE_GEOMETRY?????????????????Spatial字段

MYSQL_TYPE_NULL?????????????????????NULL-type字段

MYSQL_TYPE_CHAR?????????????????????不再重視,用MYSQL_TYPE_TINY取代

總結

以上是生活随笔為你收集整理的c++ mysql 配置文件_C++操作数据库写入到json配置文件中的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。