mysql connect by c++

本文介绍了一个使用C语言通过MySQL C接口连接本地MySQL数据库并读取数据的例子。该程序初始化MySQL连接,并通过设置字符集为GBK来避免中文乱码问题。接着,程序执行SQL查询语句从名为t_sys_power的表中获取所有记录,并将结果输出到一个文本文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>
#include <windows.h>
#include <mysql.h>

#define host "localhost"
#define username "root"
#define password "123"
#define database "oa"
MYSQL *conn;

int main()
{
MYSQL_RES *res_set;
MYSQL_ROW row;
unsigned int i,ret;
FILE *fp;
MYSQL_FIELD *field;

unsigned int num_fields;

conn = mysql_init(NULL);
 

ret = mysql_options(conn, MYSQL_SET_CHARSET_NAME, "gbk");
mysql_real_connect(conn,host,username,password,database,0,NULL,0);

 


fp = fopen ( "t_sys_power.out","w");

fprintf(fp,"char set %s/n", mysql_character_set_name(conn));
mysql_query(conn,"SELECT * FROM t_sys_power ");//WHERE a1='abc'");
res_set = mysql_store_result(conn);


while((field = mysql_fetch_field(res_set)))
{
    printf("field name %s/n", field->name);
}

num_fields = mysql_num_fields(res_set);
for(i = 0; i < num_fields; i++)
{
    field = mysql_fetch_field_direct(res_set, i);
    printf("Field %u is %s/n", i, field->name);
}

 

while ((row = mysql_fetch_row(res_set)) != NULL)
{
for (i=0; i<mysql_num_fields(res_set); i++)
{
fprintf(fp,"%s/n",row[i] != NULL ? row[i] : "NULL");
}
}
mysql_close(conn);
fclose(fp);
return 0;
}
//选择->目录:include:C:/PROGRAM FILES/MYSQL/MYSQL SERVER 5.0/INCLUDE(compiler option,directories,c++include)
//选择->目录:lib :C:/PROGRAM FILES/MYSQL/MYSQL SERVER 5.0/LIB/OPT(compiler option,directories,libraies)
//工程:设置:link:libmysql.lib(update下载libmysql,安装之后,project,projcect option,parameters,linker中输入-lmysql
)
//libmysql.dll拷贝到可执行文件相同目录,或者系统目录下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值