linux mysql c 访问示例_使用 MySQL C API 访问 MySQL — 示例

/*Simple C program that connects to MySQL Database server*/#include#include

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);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值