用户操作
[即时聊天] [发私信] [加为好友]
cnhomeID:cnhome
28065次访问,排名4434,好友2人,关注者4人。
Empty
cnhome的文章
原创 45 篇
翻译 1 篇
转载 73 篇
评论 10 篇
最近评论
bruce chan:相当详细,以后多多讨论
scmroad:我也遇到过类似的需求,你的文章被转载到了这里。谢谢你的帖子。

http://bbs.scmroad.com/viewthread.php?tid=451&extra=page%3D1
scmroad:我也遇到过类似的需求,你的文章被转载到了这里。谢谢你的帖子。

http://bbs.scmroad.com/viewthread.php?tid=451&extra=page%3D1
scmroad:你也是SCM麽?欢迎来bbs.scmroad.com分享你的配置管理经验和经历。
cnhome:尽量在使用过程中避免使用中文目录,具体情况你测试一下

关于email地址,建议你用新版本的svnmamanger.老版本email地址有效性核实确实存在问题
文章分类
收藏
    相册
    .Net
    Blog
    我的网络空间
    GIS
    google的世界照片
    mapguide开发者网络
    mapguide开源
    OpenNMS
    OpenNMS商业网站
    OpenNMS管方网站
    OpenNMS配置文档
    windows
    windows脚本中心脚本库
    编程
    C++参考(英文)
    wxWidgets_Cross-Platform GUI Library
    开源软件
    EJABBERD
    Hadoop(huihoo的介绍)
    hadoop(管方英文)
    huihoo
    huihoo(wiki)
    IGNITE REALTIME
    SF
    SF月度奖清单
    免费网络时间服务器地址
    网络工具
    其他应用
    2007中国城市竞争力报告
    fisheye的主站
    freeNAS中文网
    freeNAS安装视频
    Google Web Toolkit (GWT)
    IT 168存储学院
    TOM硬件咨讯(英文)
    中国虚拟化先锋论坛
    南方周末
    多特软件站
    虚拟机之家
    霏凡软件
    数据仓库
    数据库
    MySQL 5.1参考手册
    算法
    中间件
    ACE 5.6文档
    ACE_TAO(huihoo资料)
    ICE开源中间件
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    转载 MySQL 提供的C API ,应用的例子收藏

    新一篇: 在普通SATA硬盘PC机器上安装VMware ESX Server  | 旧一篇: UNICODE与ASCII字符的转换

    我又研究了一下 MySQL提供的C语言的API 因为上次我提供的页面有创建远程用户  以及修改mysql用户名和密码的所以CGI里面必须调用 mysqlC API才能完成。经过确认,这些都可以被MySQL C API所支持。


    比如 create database create table modify table index 等等。

    我们CGI里面所要做的就是调用MySQL C API 来修改 MySQL 数据库里面的 mysql 数据库里面的user表即可。

    下面是个例子

    1>
    连接MySQL 数据库,并use mysql;
    2> select * from user;   //
    查询表里面的数据
    3>
    打印即可

    编译:

    gcc -o mysql_example mysql_example.c -I/usr/local/include/mysql -L /usr/local/lib/mysql/  -lmysqlclient  

    执行结果:
    #shell> ./mysql_example
    CODE:
    localhost        root        *E6CC90B878B948C35E92B003C792C46C58C4AF40        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y                                        0        0        0        0       
    boblinux        root                Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y                                        0        0        0        0       
    boblinux                        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N                                        0        0        0        0       
    localhost                        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N        N                                        0        0        0        0       
    %        admin        *4ACFE3202A5FF5CF467898FC58AAB1D615029441        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y        Y                                        0        0        0        0       

    代码:
    CODE:
    /* 载入相关头文件*/
    //#include <winsock2.h>
    //
    windows平台,假设链接时发现很多链接错误的时候,需要加上对winsock2.h的引用。
    #include <stdio.h>
    #include <mysql/mysql.h>

    main() {
           
            MYSQL mysql;
            MYSQL_RES *result;
           
            MYSQL_ROW row;
            int numrows, numcols, c;
            char query[] = "SELECT *  FROM user";
           
            mysql_init(&mysql);

            /*
    连接到数据库*/

            if (!mysql_real_connect(&mysql, "172.21.5.179",        "admin", "admin",        "mysql", 0, NULL, 0))
            {
                    //
    访问失败输出错误信息
                    fprintf(stderr,        "Failed to connect to database: Error %d:%s\n", mysql_errno(&mysql),mysql_error(&mysql));
                    return -1;
            }

            /*
    执行一个查询 */

            if (mysql_query(&mysql, query))
            {
                    //
    查询失败输出错误信息
                    fprintf(stderr,        "Error executing query: Error %d: %s\n",                mysql_errno(&mysql), mysql_error(&mysql));
            }

            /*
    处理查询结果*/
           
           
    //        25.2.3.47. mysql_num_rows()
    //        my_ulonglong mysql_num_rows(MYSQL_RES *result)
    //       
    //       
    描述
    //       
    //       
    返回结果集中的行数。
    //       
    //        mysql_num_rows()
    的使用取决于是否采用了mysql_store_result()mysql_use_result()来返回结果集。如果使用了mysql_store_result(),可以立刻调用mysql_num_rows()。如果使用了mysql_use_result()mysql_num_rows()不返回正确的值,直至检索了结果集中的所有行为止。
    //       
    //       
    返回值
    //       
    //       
    结果集中的行数。
            result = mysql_store_result(&mysql);   //mysql_use_result()
    mysql_store_result()

            if (!result)
            {
                    //
    查询结果出错
                    fprintf(stderr,        "Error executing query: Error %d: %s\n", mysql_errno(&mysql), mysql_error(&mysql));
            }

            /*
    查找查询结果的列数 */

            numcols = mysql_num_fields(result);
            numrows = mysql_num_rows(result);
           
            printf("filds = %d\n",numcols);
            printf("rows = %d\n",numrows);
            printf("\n\n");

            /*
    循环显示查询结果 */

            while (row = mysql_fetch_row(result)) {
                    for(c=0; c<numcols; c++) {
                            printf("%s\t", row[c]);
                    }
                    printf("\n");
            }

    }

    发表于 @ 2007年10月24日 11:40:00|评论(loading...)|编辑

    新一篇: 在普通SATA硬盘PC机器上安装VMware ESX Server  | 旧一篇: UNICODE与ASCII字符的转换

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © cnhome