#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>
#include "../mysql_include/mysql.h"
#ifndef false
#define false (0)
#endif
#ifndef true
#define true !false
#endif
typedef struct
{
unsigned int year; //年
unsigned int month; //月
unsigned int day; //日
unsigned int hour; //时
unsigned int minute;//分
unsigned int second;//秒
}DateTime;
DateTime dateTime;
int StringTimeToDateTime(const char *stringTime, DateTime *dateTime)
{
if (6 != sscanf(stringTime, "%04d-%02d-%02d %02d:%02d:%02d",&(dateTime->year), &(dateTime->month),
&(dateTime->day), &(dateTime->hour), &(dateTime->minute), &(dateTime->second)))
{
return false;
}
return true;
}
int main()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
//char server[] = "localhost";
char server[] = "192.168.21.11";
char user[] = "root";
//char password[] = "mysql";
char password[] = "root";
char database[] = "metro";
char ch_str[32] = "admin";
char str[256];
snprintf(str, 256, "%s",ch_str);
printf("str is %s\n",str);
conn = mysql_init(NULL);
printf("MySQL init OK. \n");
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
printf("MySQL connnect OK... \n");
#if 1
if (mysql_select_db(conn, database))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
printf("select db OK. \n");
#endif
printf("version=%ld \n", mysql_get_server_version(conn));
//if (mysql_query(conn, "show databases"))
if (mysql_query(conn, "select DEV_ID,TIME from alarm_info"))
//if (mysql_query(conn, "show tables"))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
printf("mysql_query OK. \n");
if (!(res = mysql_store_result(conn)))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
printf("mysql_store_result OK. \n");
printf("mysql_num_rows=%llu\n", mysql_num_rows(res));
#if 0
//取得执行结果
if (!(res = mysql_use_result(conn)))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
printf("mysql_use_result OK. \n");
#endif
//获取记录集的字段数、当前记录数、总记录数
printf("Result field count=%d, row count=%lld, mysql_num_rows=%llu\n", res->field_count, res->row_count, mysql_num_rows(res));
printf("\n-----------------------------------------\n");
#if 0
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
{
printf("%s \n", row[0]);
}
#else
//打印字段名称
unsigned int iCol = 0;
while (iCol < res->field_count)
{
printf("%-10s ", res->fields[iCol].name);
++iCol;
}
printf("\n");
while( (row = mysql_fetch_row(res)) )
{
//遍历字段
unsigned int i;
for(i = 0 ; i < res->field_count; i++)
{
//打印字段值
//在这里可以赋值给其它变量
printf("%-10s ",row[i]);
}
printf("\n");
unsigned long long num_of_rows = mysql_num_rows(res);
printf("num_of_rows = %llu\n",num_of_rows);
printf("field_count = %d\n",res->field_count);
printf("current_field = %d\n",res->current_field);
printf("row_count = %llu\n",res->row_count);
printf("lengths = %lu\n",*(res->lengths));
if (StringTimeToDateTime(row[2], &dateTime) == false)
{
printf("Error! StringTimeToDateTime\n");
}
else
printf("DateTime: %04d-%02d-%02d %02d:%02d:%02d\n",dateTime.year, dateTime.month, dateTime.day, dateTime.hour, dateTime.minute, dateTime.second);
}
#endif
printf("-----------------------------------------\n\n");
unsigned long long num_of_rows = mysql_num_rows(res);
printf("num_of_rows = %llu\n",num_of_rows);
printf("field_count = %d\n",res->field_count);
printf("current_field = %d\n",res->current_field);
printf("row_count = %llu\n",res->row_count);
printf("lengths = %lu\n",*(res->lengths));
mysql_free_result(res);
mysql_close(conn);
printf("finish! \n");
return 0;
}
linux下mysql 库文件和头文件,以及关于调用它的api的demo
需积分: 15 16 浏览量
2017-12-27
10:16:34
上传
评论
收藏 11.71MB GZ 举报
lei_xu_tenthousand
- 粉丝: 0
- 资源: 7
最新资源
- Edge浏览器下载文件提示 “无法安全下载” 的解决方法
- 基于springboot+layui的医院日常耗材管理系统.zip
- 计算机毕业设计-ASP.NET教育报表管理系统-权限管理模块(源代码+)-毕设源码实例.zip
- 计算机毕业设计-ASP.NET教务信息管理系统的设计与实现(源代码+)-毕设源码实例.zip
- 免费计算机毕业设计-线上公司求职招聘系统的设计与实现(包含论文+源码)
- Eleven的精益供应链管理-碓胤咨询龚胤全.rar
- 5套光伏、储能、充电收益测算表.zip
- C2 供应链集成演示平台操作手册(详细版).rar
- 3套光储充一体化站CAD+PDF图纸.zip
- c++游戏开发,本人开发的c++小游戏飞机大战(二)源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈