// mysql_access.cpp : 定义控制台应用程序的入口点。 / #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <winsock2.h> #pragma comment(lib, "ws2_32") #include <mysql.h> #pragma comment(lib, "libmysql.lib") int main(int argc, char* argv[]) { int res,j; MYSQL mysql; MYSQL_RES *resultset; MYSQL_ROW row; mysql_init(&mysql);// 初始化mysql结构 //连接本机,用户名是root,密码是root,数据库是db_test,端口是3306 if (!mysql_real_connect(&mysql, "localhost", "root", "root", "db_test", 3306, NULL, 0)) { printf("\n数据库连接发生错误!"); } else { mysql_set_character_set(&mysql,"gbk"); printf("\n数据库连接成功!\n"); //插入一条数据到数据库 res = mysql_query(&mysql, "insert into student(name,sex,age) values('郑金玮','男',23)"); if(!res) { printf("插入%lu行数据成功!\n",(unsigned long)mysql_affected_rows(&mysql)); } else printf("插入数据失败!\n"); if(mysql_query(&mysql,"select * from student")) { printf("数据库查询发生错误"); } else { //检索数据 printf("\n查询数据为:\n"); resultset = mysql_store_result(&mysql);// 获得结果集 if (mysql_num_rows(resultset) != NULL) { int numRows = mysql_num_rows(resultset); // 获得结果集中的记录数 int numFields = mysql_num_fields(resultset);// 获得表中字段数 printf("共 %d 行记录,每行 %d 个字段。", numRows, numFields); j = 1; while (row = mysql_fetch_row(resultset)) { int i = 0; printf("\n 第 %d 行:", j); for (i = 0; i < numFields; i++) { fprintf(stdout, " %s", row[i]); // 打印字段值 } j++; } } else { printf("\n无查询结果!"); } mysql_free_result(resultset); // 释放结果集 } } mysql_close(&mysql); // 释放数据库连接 system("pause"); return 0; }
c语言库访问mysql 下载