日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2025/3/12 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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配置文件中的全部內容,希望文章能夠幫你解決所遇到的問題。

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