01 |
#if
defined(_WIN32) || defined(_WIN64) //为了支持windows平台上的编译 |
02 |
#include
<windows.h> |
03 |
#endif |
04 |
#include
<stdio.h> |
05 |
#include
<stdlib.h> |
06 |
#include
"mysql.h" |
07 |
|
08 |
//定义数据库操作的宏,也可以不定义留着后面直接写进代码 |
09 |
#define
SELECT_QUERY "show tables;" |
10 |
|
11 |
int main( int argc, char **argv) //char
**argv 相当于 char *argv[] |
12 |
{ |
13 |
MYSQL
mysql,*handle; //定义数据库连接的句柄,它被用于几乎所有的MySQL函数 |
14 |
MYSQL_RES
*result; //查询结果集,结构类型 |
15 |
MYSQL_FIELD
*field ; //包含字段信息的结构 |
16 |
MYSQL_ROW
row ; //存放一行查询结果的字符串数组 |
17 |
char querysql[160]; //存放查询sql语句字符串 |
18 |
//初始化 |
19 |
mysql_init(&mysql); |
20 |
//连接数据库 |
21 |
if (!(handle
= mysql_real_connect(&mysql, "localhost" , "user" , "pwd" , "dbname" ,0,NULL,0)))
{ |
22 |
fprintf (stderr, "Couldn't
connect to engine!\n%s\n\n" ,mysql_error(&mysql)); |
23 |
} |
24 |
sprintf (querysql,SELECT_QUERY, atoi (argv[1])); |
25 |
//查询数据库 |
26 |
if (mysql_query(handle,querysql))
{ |
27 |
fprintf (stderr, "Query
failed (%s)\n" ,mysql_error(handle)); |
28 |
} |
29 |
//存储结果集 |
30 |
if (!(result=mysql_store_result(handle)))
{ |
31 |
fprintf (stderr, "Couldn't
get result from %s\n" ,
mysql_error(handle)); |
32 |
} |
33 |
printf ( "number
of fields returned: %d\n" ,mysql_num_fields(result)); |
34 |
//读取结果集的内容 |
35 |
while (row
= mysql_fetch_row(result)) { |
36 |
printf ( "table:
%s\n" ,(((row[0]==NULL)&&(! strlen (row[0])))
? "NULL" :
row[0]) ) ; |
37 |
} |
38 |
//释放结果集 |
39 |
mysql_free_result(result); |
40 |
//关闭数据库连接 |
41 |
mysql_close(handle); |
42 |
|
43 |
system ( "PAUSE" ); |
44 |
//为了兼容大部分的编译器加入此行 |
45 |
return 0; |
46 |
} |