您的位置:首页 > 数据库 > MySQL

C API 访问mysql

2014-01-02 18:21 435 查看
// 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 下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: