直接使用gcc编译,编译命令:gcc -g -o bbb -I"C:\Program Files\MySQL\MySQL Server 8.0\include" mysql.c -L"C:\Program Files\MySQL\MySQL Server 8.0\lib" -llibmysql
注意,需要将libmysql.dll这个库文件放在生成的可运行程序同目录下,否则会报找不到这个库文件的错误。
#include <WinSock2.h>
#include <windows.h>
// #include "C:\Program Files\MySQL\MySQL Server 8.0\include\mysql.h"
#include "mysql.h"
#include <stdio.h>
#include <stdlib.h>
//gcc -g -o bbb -I"C:\Program Files\MySQL\MySQL Server 8.0\include" mysql.c -L"C:\Program Files\MySQL\MySQL Server 8.0\lib" -llibmysql
int main(){
system("chcp 65001");//数据库编码为utf,此处改为gbk
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char* server="localhost";//本地连接
char* user="root";//
char* password="Wan@214796";//mysql密码
char* database="localtest";//数据库名
char* query="select * from users";//需要查询的语句
int t,r;
conn=mysql_init(NULL);
if(!mysql_real_connect(conn,server,user,password,database,3306,NULL,0))
{
printf("Error connecting to database:%s\n",mysql_error(conn));
}else{
printf("Connected...\n");
}
printf("New client character set: %s\n",
mysql_character_set_name(conn));
// if (!mysql_set_character_set(conn, "gbk"))
// {
// printf("New client character set: %s\n",
// mysql_character_set_name(conn));
// }
t=mysql_query(conn,query);
if(t)
{
printf("Error making query:%s\n",mysql_error(conn));
}else{
printf("Query made...\n");
res=mysql_use_result(conn);
if(res)
{http://www.mytju.com/classcode/tools/encode_gb2312.asp
while((row=mysql_fetch_row(res))!=NULL)
{
//printf("num=%d\n",mysql_num_fields(res));//列数
for(t=0;t<mysql_num_fields(res);t++)
printf("%8s ",row[t]);
printf("\n");
}
}
mysql_free_result(res);
}
mysql_close(conn);
return 0;
}
文章提供了一个使用GCC编译器连接到MySQL数据库的C语言代码示例,包括必要的编译命令和库引用。代码中展示了如何初始化数据库连接,执行SQL查询以及处理查询结果。

被折叠的 条评论
为什么被折叠?



