c++ 读取mysql数据库_c++连接数据库读取数据示例

程序名称:mysql.cpp

编译命令:g++ mysql.cpp -o mysql -I/usr/local/mysql/include/mysql -lmysqlclient

程序内容:

#include #include "mysql.h"

using namespace std;

int main()

{

int i = 1;

int field_num;

char id[10] = {0};

char name[16] = {0};

MYSQL mysql;

MYSQL_ROW row;

MYSQL_RES *result;

MYSQL_FIELD *fields;

//声明函数

bool getfieldvalue(char * value,int field_num,MYSQL_FIELD * fields,MYSQL_ROW &row,char *fieldname);

mysql_init(&mysql);

cout << "connect mysql database." << endl;

if (mysql_real_connect(&mysql,"localhost","root","21vianet","boss",3306,0,0))

{

cout << "connect ok." << endl;

}

else

{

cout << "connect fail." << endl;

return 0;

}

mysql_query(&mysql,"SET NAMES gb2312");

mysql_query(&mysql,"select * from role");

result = mysql_store_result(&mysql);

fields = mysql_fetch_fields(result);

field_num = mysql_num_fields(result);

cout << "num:" << field_num << endl;

while (row = mysql_fetch_row(result))

{

getfieldvalue(id,field_num,fields,row,"id");

getfieldvalue(name,field_num,fields,row,"name");

cout << id << "," << name << endl;

}

cout << "OK!" << endl;

mysql_close(&mysql);

}

bool getfieldvalue(char * value,int field_num,MYSQL_FIELD * fields,MYSQL_ROW &row,char *fieldname)

{

int i;

for (i = 0;i < field_num;i++)

{

if (strcmp(fields[i].name,fieldname) == 0)

{

if (row[i] != NULL)

{

strcpy(value,row[i]);

}

else

{

strcpy(value,"");

}

return true;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值