本文共 2500 字,大约阅读时间需要 8 分钟。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #include <stdio.h> #include "mysql.h" int main() { MYSQL mysql; MYSQL_RES *res = NULL; MYSQL_ROW row; mysql_init( &mysql ); if ( NULL == ( mysql_real_connect( &mysql, "172.16.81.111" , "root" , "root" , "" , 0, NULL, 0 ) ) ) { fprintf ( stderr, "%s: %s\n" , "MoDb" , mysql_error( &mysql ) ); exit (1); } if ( mysql_query( &mysql, "show tables" ) ) { fprintf ( stderr, "Error: %s\n" , mysql_error( &mysql ) ); exit (1); } res = mysql_use_result( &mysql ); printf ( "MySQL Tables in mysql database:\n" ); while ( (row = mysql_fetch_row(res)) != NULL ) { fprintf ( stderr, "%s \n" , row[0] ); } mysql_free_result(res); mysql_close( &mysql ); getchar (); return 0; } |
工程配置好后,运行出现“无法定位程序输入点 InitializeConditionVariable 于动态链接库 KERNEL32.dll 上。”的错误。哈哈,知道为啥不(其实上一篇已经说明了这个问题)?我一下就想到了,但还是在度娘那边问查了一下,给出的答案五花八门,相关的不多。其实就是因为 XP 上的 KERNEL32.dll 不支持 InitializeConditionVariable 的缘故。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include <stdio.h> #include "mysql.h" int main() { MYSQL mysql; MYSQL_RES *res = NULL; MYSQL_ROW row; mysql_init( &mysql ); if ( NULL == ( mysql_real_connect( &mysql, "172.16.81.111" , "root" , "root" , "" , 0, NULL, 0 ) ) ) { fprintf ( stderr, "%s: %s\n" , "MoDb" , mysql_error( &mysql ) ); exit (1); } if ( mysql_query( &mysql, "SET NAMES utf8" ) ) { fprintf ( stderr, "Error [SET NAMES utf8]: %s\n" , mysql_error( &mysql ) ); exit (1); } if ( mysql_query( &mysql, "show databases" ) ) { fprintf ( stderr, "Error: %s\n" , mysql_error( &mysql ) ); exit (1); } res = mysql_use_result( &mysql ); printf ( "MySQL Tables in mysql database:\n" ); while ( (row = mysql_fetch_row(res)) != NULL ) { fprintf ( stderr, "%s \n" , row[0] ); } mysql_free_result(res); mysql_close( &mysql ); getchar (); return 0; } |
上述代码完成了连接、查询、断开连接的基本操作。
在上述 demo 成功运行后,又提出了如下问题:转载地址:http://toiyl.baihongyu.com/