代码:

/* Simple C program that connects to MySQL Database server */
#include <mysql.h>
#include <stdio.h>
main() { char *begin="\n+--------------BEGIN---------------+\n\n"; printf(begin);MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "your mysql user";char *password = "your password";char *database = "your database"; conn = mysql_init(NULL); /* Connect to database */ /* * CLIENT_MULTI_RESULTS * 通知服务器,客户端能够处理来自多语句执行或存储程序的多个结果集。 * 如果设置了CLIENT_MULTI_STATEMENTS,将自动设置它。 */ if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, CLIENT_MULTI_RESULTS)) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); }char *tell="SQL Table Query...\n"; printf(tell); // SQL 普通表查询 char *sql="select password from Users whereUserName='client1@192.168.1.122'"; if (mysql_query(conn, sql)) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); }res = mysql_use_result(conn); printf("SqlCommand:%s",sql); printf("\n"); while ((row = mysql_fetch_row(res)) != NULL) { printf("PassWord:%s \n\n", row[0]); } mysql_free_result(res); char *tell2="SQL Store Query More...\n"; printf(tell2); // SQL 存储过程查询 char *sql1="call P_GetCurrentCostPriceByUserName('client1@192.168.1.122')"; if (mysql_query(conn, sql1)) { fprintf(stderr, "%s\n\n", mysql_error(conn)); exit(1); }   /* * 存储过程默认返回的是多个结果集, * 所以要用mysql_next_result取出并检查 * 下一个的结果集。否则在存储过程下的 * 其它查询语句都会出现 “Commands out of sync; * you can't run this command now”错误! */ do { if ((res = mysql_use_result(conn))) { printf("SqlCommand:%s",sql1); printf("\n"); while ((row = mysql_fetch_row(res)) != NULL) { printf("UserName:%s \n", row[0]); printf("Balance:%s \n",row[1]); printf("Price:%s \n\n",row[2]); } } }while (!mysql_next_result(conn)); mysql_free_result(res); char *tell3="SQL View Query More...\n"; printf(tell3); // SQL 视图查询 char *sql2="select CameraID,URL,RtspName,PW,PTZ,PTZServer from V_UserEquipment whereLoginName='client1@192.168.1.122'"; if (mysql_query(conn, sql2)) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } res = mysql_use_result(conn); printf("SqlCommand:%s",sql2); printf("\n"); while ((row = mysql_fetch_row(res)) != NULL) { printf("CameraID:%s \n", row[0]); printf("URL:%s\n",row[1]); printf("RtspName:%s \n",row[2]); printf("PW:%s \n", row[3]); printf("PTZ:%s \n",row[4]); printf("PTZServer:%s \n\n",row[5]); } mysql_free_result(res); mysql_close(conn); char *end="+--------------END----------------+\n"; printf(end);
} 

编译:

gcc -o sqla $(mysql_config --cflags) sqla.c $(mysql_config --libs)

运行结果:

+--------------BEGIN---------------+
SQL Table Query...
SqlCommand:select password from Users where UserName='client1@192.168.1.122'
PassWord:client1
SQL Store Query More...
SqlCommand:call P_GetCurrentCostPriceByUserName('client1@192.168.1.122')
UserName:client1@192.168.1.122
Balance:30000
Price:0.05
SQL View Query More...
SqlCommand:select CameraID,URL,RtspName,PW,PTZ,PTZServer from V_UserEquipment where LoginName='client1@192.168.1.122'
CameraID:051010049@192.168.1.122_0
[url=rtsp://192.168.1.93/1.mp4]URL:rtsp://192.168.1.93/1.mp4[/url]
RtspName:admin
PW:admin
PTZ:1
PTZServer:ptzserver1@192.168.1.122
+--------------END----------------+

使用 MySQL C API 访问 MySQL — 示例相关推荐

  1. ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析

    ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析 . /   // datadase odbc1.cpp : 定义应用程序的入口点.  //   #inc ...

  2. c语言访问mysql,C语言访问mysql数据库

    mysql中新建的数据库为hyx,hyx中的表为my_schema,表中的数据为下图: 编写代码,访问表中的数据,测试代码如下: #include "stdafx.h" #incl ...

  3. Linux下eclipse及mysql安装,c++访问mysql数据库

    这两天在学习linux下用c++访问mysql,碰到一堆问题,记录一下. 1.mysql安装: 公司的电脑是64位的,安装的是64为的RHEL4,安装如下三个包: MySQL-client-5.1.4 ...

  4. linux中mysql与eclipse_Linux下eclipse CDT及mysql安装,c++访问mysql数据库

    5. 关于eclipse编译project 由于程序中有#include 所以需要在eclipse中加上对mysql.h的路径 项目->属性->C/C++Build -> setti ...

  5. mysql c api example_The MySQL C API 编程实例

    在网上找了一些MYSQL C API编程的文章,看了后认为还是写的不够充分,依据自己经验写了这篇<The MySQL C API 编程实例>,希望对须要调用到MYSQL的C的API的朋友有 ...

  6. mysql bdb_直接访问mysql的BDB存储引擎

    我们知道BDB是一种嵌入式的数据库,存取效率比mysql高,但是管理起来没有mysql方便,在分布式应用中同步也是一个问题. 恰好mysql是支持用BDB作为存储引擎的(5.1之后就不直接支持了,因为 ...

  7. mysql备份 1044_Navicat访问MySQL出现1044/1045错误的解决方法

    Navicat 出现1044/1045错误是网友们一直头疼的问题,本文以此进行详细介绍,需要了解的朋友可以参考下 in Navicat for MySQL,PostgreSQL and Oracle ...

  8. eclipse访问别人 mysql数据库_eclipse访问mysql数据库!

    完整的代码是: ... 完整的代码是: 房地产管理系统 登录操作 public static final String DBDRIVER = "org.git.mm.mysql.Driver ...

  9. weka mysql 汉字_Weka访问MySQL数据库

    在Weka中使用Experimenter想连接Mysql数据库时, 默认链接为:jdbc:idb=experiments.prp将其改为: 在Weka中使用Experimenter想连接Mysql数据 ...

  10. weka使用mysql数据_Weka访问MySql数据库

    在Weka中使用Experimenter想连接Mysql数据库时, 默认链接为: jdbc:idb=experiments.prp 将其改为: jdbc:mysql://222.35.250.58:3 ...

最新文章

  1. java servlet 请求_Java中前台JSP请求Servlet实例(http+Servlet)
  2. http://weibo.com/cnblogs
  3. Visual Studio 2010 Ultimate敏捷测试驱动开发
  4. java api集合,javaAPI_集合基础_集合中常见操作示例
  5. elasticsearch配置文件解析
  6. UOJ284 快乐游戏鸡(树上动态规划问题、长链剖分+单调栈)
  7. python创建sqlite3数据库_树莓派使用 Python + SQLite 建立温度数据库
  8. java bitset_Java BitSet toString()方法与示例
  9. java 类加载的机制面试题_java 类加载机制 阿里面试题
  10. 4种方案,帮你解决Maven创建项目过慢问题
  11. mir2disease:miRNA相关疾病数据库
  12. 关于睡眠分期中人工判读的一些个人总结
  13. ode45解微分方程(组)
  14. java 使用oos 进行数据上传和跨域
  15. 东方影都2003_东方影都旅游攻略|电影博物馆amp;外景街最in玩法,get了吗?
  16. HPP(Hosted Payment Page)支付模式
  17. 魔方机器人大赛——视觉算法
  18. 稳定kvm服务器vps,kvm的服务器vps
  19. 程序设计与算法(一)第7周测验(2019夏季)
  20. Android 中文API网址

热门文章

  1. nohup方式 真正的后台不挂断运行程序
  2. python 贝塞尔曲线 反算控制点_根据贝塞尔曲线上的点反算t值
  3. 移动端ajax,移动端ajax请求问题?
  4. 《深入理解JVM》读书笔记
  5. docker容器安装和配置实战
  6. Linux系统的查看系统信息和常用监控命令
  7. 【9.28作业】论XX信息系统建设项目的范围管理
  8. Ubuntu 9.10上搭建andrioid开发环境
  9. 《演讲之禅》迷你书免费下载 每小时30000美元的秘诀
  10. asp.net有效使用缓存(转)