zoukankan      html  css  js  c++  java
  • 简单的数据库操作程序

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

          我发现虽然与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
    " );
    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
    " );
    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
    " );
    35                 exit( EXIT_FAILURE );
    36         }
    37         fprintf( stdout, "Succeed at query
    " );
    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!
    " );
    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	姓名:%s	年龄:%s
    ", 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
  • 相关阅读:
    SQL 查询中 not in的改进,--not exists
    REST接口--转摘
    C#中@的用法总结(转)
    有感于哈工大matlab被限制使用
    Oracle CURRVAL应用限制
    oracle to_char()函数--数字型到字符型
    如何提交代码到git仓库
    cannot find module 'xxx' 解决办法
    DOM-基本概念及使用
    AJAX-同源策略 跨域访问
  • 原文地址:https://www.cnblogs.com/the-one/p/5516512.html
Copyright © 2011-2022 走看看