Mysql实例dmysql自己封装的mysql库
发布时间:2020-07-21 15:46:41 所属栏目:MySql 来源:互联网
导读:介绍《Mysql实例dmysql自己封装的mysql库》开发教程,希望对您有用。
《Mysql实例dmysql自己封装的mysql库》要点: 最近好久没有发原创文章了,都在架构服务器,编写CGI程序 开头用了些天perl,后来发现对脚本语言尤其是特别牛X的正则表达式有些看不懂... 回头用C语言写高效率的吧,反正我自己写过好些C的库了... 下面贴一个mysql的库,叫做dmysql 解压缩以后,make;makeinstall安装 然后编译程序的时候,包含dmysql.h头文件,加上-ldmysql标识,即可 头里面定义了一个mysql数据库的结构体, typedefstruct_dmysql_info { char*host;/*hostfordatabase*/ char*user;/*usernamefordatabase*/ char*pswd;/*passwordtotheaccount*/ char*dbbs;/*nameofdatabase*/ }dmysql_info; 记录集的数据类型 typedefstruct_dmysql_record { char*s_str; }dmysql_record; typedefstruct_dmysql_row { dmysql_record*s_record; }dmysql_row; typedefstruct_d_mysql_res { introw; intfield; dmysql_row*s_row; }dmysql_res; 还有程序运行时候的出错代码 #defineDMYSQL_QUERY_OKAY0 #defineDMYSQL_SELECT_OKAY0 #defineDMYSQL_CONNECT_ERROR-1 #defineDMYSQL_INIT_ERROR-2 #defineDMYSQL_QUERY_ERROR-3 #defineDMYSQL_RES_ERROR-4 程序一共就3个函数 externintdmysql_query(constchar*s_query,constdmysql_infomysql_info); 给出一句执行的SQL命令,比如UPDATE、INSERT,指定一个数据库,就可以了 externintdmysql_select(dmysql_res**rel_res,constchar*s_select,constdmysql_infomysql_info); 传入一个数据库记录集的地址,给出一个SELECT记录的SQL命令,再制定一个数据库,就可以了 用来释放内存中在栈里面申明了的记录集空间 externvoiddmysql_free(dmysql_res*res); 下面是演示的程序代码: #include<stdio.h> #include<dmysql.h> intmain(void) { dmysql_infodb; db.host="127.0.0.1";/*hostfordatabase*/ db.user="root";/*usernamefordatabase*/ db.pswd="";/*passwordtotheaccount*/ db.dbbs="mysql";/*nameofdatabase*/ char*s_query="GRANTALLON*.*to'dorainm'@'127.0.0.1'IDENTIFIEDBY'******';"; char*s_sql="SELECT`user`,`host`,`password`FROM`user`;"; inti,j; dmysql_res*res; dmysql_query(s_query,db); printf("selectout:%dn",dmysql_select(&res,s_sql,db)); for(i=0;i<res->row;i++) { for(j=0;j<res->field;j++) { printf("%st",((res->s_row+i)->s_record+j)->s_str); } printf("n"); } dmysql_free(res); return0; }; maketest后运行./dmysql dorainm@desktop:~/workroom/c/mylib/dmysql$maketestgcc-Wall-O3-odmysqlmain.c-ldmysql`mysql_config--libs``mysql_config--cflags`dorainm@desktop:~/workroom/c/mylib/dmysql$./dmysql selectout:5 rootlocalhost%^$#!@%*&! rootdesktop.dorainm.org%^$#!@%*&! desktop.dorainm.org%^$#!@%*&! localhost%^$#!@%*&! dorainm127.0.0.1%^$#!@%*&!dorainm@desktop:~/workroom/c/mylib/dmysql$ (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |