快捷导航

[其他教程] dmysql一段命令

[复制链接]
查看: 1868|回复: 1

3762

主题

9657

狗粮

6

精华

管理员

积分
27772

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2015-11-10 11:53:17 | 显示全部楼层 |阅读模式
下面贴一个mysql的库,叫做dmysql
解压缩以后,make ; make install 安装
然后编译程序的时候,包含dmysql.h头文件,加上 -ldmysql标识,即可
头里面定义了一个mysql数据库的结构体,
typedef struct _dmysql_info
{
     char *host; /*host for database*/
     char *user; /*user name for database*/
     char *pswd; /*password to the account*/
     char *dbbs; /*name of database*/
} dmysql_info;
记录集的数据类型
typedef struct _dmysql_record
{
     char *s_str;
} dmysql_record;
typedef struct _dmysql_row
{
     dmysql_record *s_record;
} dmysql_row;
typedef struct _d_mysql_res
{
     int row;
     int field;
     dmysql_row *s_row;
} dmysql_res;
还有程序运行时候的出错代码
#define DMYSQL_QUERY_OKAY 0
#define DMYSQL_SELECT_OKAY 0
#define DMYSQL_CONNECT_ERROR -1
#define DMYSQL_INIT_ERROR -2
#define DMYSQL_QUERY_ERROR -3
#define DMYSQL_RES_ERROR -4
程序一共就3个函数
extern int dmysql_query( const char * s_query, const dmysql_info mysql_info );
给出一句执行的SQL命令,比如UPDATE、INSERT,指定一个数据库,就可以了
extern int dmysql_select( dmysql_res **rel_res, const char *s_select, const dmysql_info mysql_info );
传入一个数据库记录集的地址,给出一个SELECT记录的SQL命令,再制定一个数据库,就可以了
用来释放内存中在栈里面申明了的记录集空间
extern void dmysql_free( dmysql_res *res );
下面是演示的程序代码:
#include  
#include  
int main( void )
{
    dmysql_info db;
    db.host="127.0.0.1"; /*host for database*/
    db.user="root"; /*user name for database*/
    db.pswd=""; /*password to the account*/
    db.dbbs="mysql"; /*name of database*/
    char *s_query="GRANT ALL ON *.* to 'dorainm'@'127.0.0.1' IDENTIFIED BY '******';";
    char *s_sql="SELECT `user`,`host`,`password` FROM `user`;";
    int i, j;
    dmysql_res *res;
    dmysql_query( s_query, db );
    printf( "select out : %d\n", dmysql_select( &res, s_sql, db ) );
    for( i=0; irow; i++ )
    {
        for( j=0; jfield; j++ )
        {
            printf("%s\t", ((res->s_row+i)->s_record+j)->s_str );
        }
        printf( "\n" );
    }
    dmysql_free( res );
    return 0;
};
  
make test后运行./dmysql
dorainm@desktop:~/workroom/c/mylib/dmysql$ make test gcc -Wall -O3 -o dmysql main.c -ldmysql `mysql_config --libs` `mysql_config --cflags` dorainm@desktop:~/workroom/c/mylib/dmysql$ ./dmysql
select out : 5
root localhost %^$#!@%*&!
root desktop.dorainm.org %^$#!@%*&!  
desktop.dorainm.org %^$#!@%*&!  
localhost %^$#!@%*&!
dorainm 127.0.0.1 %^$#!@%*&! dorainm@desktop:~/workroom/c/mylib/dmysql$
温馨提示:
1、本站所有信息都来源于互联网有违法信息与本网站立场无关。
2、当有关部门,发现本论坛有违规,违法内容时,可联系站长删除,否则本站不承担任何责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
5、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
6、如果使用本帖附件,本站程序只提供学习使用,请24小时内删除!使用者搭建运营触犯法律,违法,违规,本站不承担任何责任。
我是一条可怜的土狗...
cprjz 该用户已被删除
发表于 2017-12-25 20:51:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
我是一条可怜的土狗...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩推荐

体育赛事直播/斗球网页直播/篮球等体育游戏

2024-11-06 精品源码

仿火币模式交易所源码+VUE源码可二开 法币

2021-12-19 精品源码

【变色龙】app封装系统源码+某站在售上千的

2021-12-19 精品源码

BZZ分币系统/PHA分币系统/XCH/chia分币 奇

2021-12-19 精品源码

任务悬赏APP系统源码-活动营销三级分销返佣

2021-12-19 精品源码

最新升级版 云挖矿模式盗u源码 秒u源码-全

2022-01-04 精品源码

UI非常漂亮的数诚1对1直播+双端源码/带收徒

2021-12-19 精品源码

新版【士兵扫雷UI改版】12月未新增多页面新

2022-01-03 精品源码

让创业更简单

  • 反馈建议:xiaotuzi2018@foxmail.com
  • 客服电话:
  • 工作时间:周一到周六

云服务支持

精品资源,快速检索

关注我们

Copyright 小白源码网  Powered by©  技术支持: