简单的数据库操作程序

   今天, 我写了个操作数据库并显示出来的程序。

      我发现虽然与C#不同, 但都是连接数据库, 然后SQL查询得到结果, 再对结果进行操作。 

  其次,  由于使用的是mysql提供的第三方的独立函数库,  所以在编译程序前, 要加上头文件的位置, 以及库文件的位置,  我的分别是-I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient, 第三个是在编译时需加入「-lmysqlclient」(这里需要注意, 把它放在源文件后不会报错), 来告诉编译器我要用的库文件名字。 (下一行的这个链接详细的解释-I, -L, 以及-l 含义 http://www.cnblogs.com/benio/archive/2010/10/25/1860394.html )

   另外, MYSQL查询的结果都是字符串, 如果要获取数字,还要将其转换。

   最后, 贴出结果和代码。

   

  

  

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <mysql.h>
 4 void
 5 main ( void )
 6 {
 7         MYSQL the_conn;
 8         MYSQL_RES *mysql_result;
 9         MYSQL_ROW mysql_row;
10         int query_row;
11         int query_col;
12         int r,c;
13 
14         /*
15         ** 获取本次连接的句柄
16         */
17         if( mysql_init( &the_conn ) == NULL ){
18                 fprintf( stdout, "Error at mysql_init\n" );
19                 exit( EXIT_FAILURE );
20         }
21 
22         /*
23         ** 向mysql请求连接
24         */
25         if( mysql_real_connect( &the_conn, "localhost", "root", "iiiiii", "my_db", MYSQL_PORT, NULL, 0 ) == NULL ){
26                 fprintf( stdout, "Error at mysql_real_connect\n" );
27                 exit( EXIT_FAILURE );
28         }
29 
30         /*
31         ** 操作数据库
32         */
33         if( mysql_query( &the_conn, "SELECT * FROM student_info" ) != 0 ){
34                 fprintf( stdout, "Fail at query\n" );
35                 exit( EXIT_FAILURE );
36         }
37         fprintf( stdout, "Succeed at query\n" );
38 
39 
40         /*
41         ** 获取查询结果
42         */
43         mysql_result = mysql_store_result( &the_conn );
44         query_row = mysql_num_rows( mysql_result );
45         query_col = mysql_num_fields( mysql_result );
46 
47 
48         fprintf( stdout, "Succeed at the connect!\n" );
49 
50 
51         /*
52         ** 显示出来
53         */
54         for( r = 0; r < query_row; r ++ ){
55                 mysql_row = mysql_fetch_row( mysql_result );
56                 fprintf( stdout, "学号:%s\t姓名:%s\t年龄:%s\n", mysql_row [0], mysql_row [1], mysql_row [2] );
57         }
58 
59 
60         /*
61         ** 释放掉mysql_result
62         */
63         mysql_free_result( mysql_result );
64 
65         /*
66         ** 关闭mysql连接
67         */
68         mysql_close( &the_conn );
69         exit( EXIT_SUCCESS );
70 }
linux C mysql

 

posted @ 2016-05-22 12:06  心中的阿哲  阅读(306)  评论(0编辑  收藏  举报