dMySQL自己封装的MySQL库

2022-11-12 09:21:24
内容摘要
这篇文章主要为大家详细介绍了dMySQL自己封装的MySQL库,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记!怎么系统分类里面没有CGI啊?最近好
文章正文

这篇文章主要为大家详细介绍了dMySQL自己封装的MySQL库,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

怎么系统分类里面没有CGI啊?最近好久没有发原创文章了,都在架构服务器,编写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:%d\n",dmysql_select(&res,s_sql,db));for(i=0;i<res->row;i++){for(j=0;j<res->field;j++){printf("%s\t",((res->s_row+i)->s_record+j)->s_str);}printf("\n");}dmysql_free(res);return0;};maketest后运行./dmysqldorainm@desktop:~/workroom/c/mylib/dmysql$maketestgcc-Wall-O3-odmysqlmain.c-ldmysql`mysql_config--libs``mysql_config--cflags`dorainm@desktop:~/workroom/c/mylib/dmysql$./dmysqlselectout:5rootlocalhost%^$#!@%*&!rootdesktop.dorainm.org%^$#!@%*&!desktop.dorainm.org%^$#!@%*&!localhost%^$#!@%*&!dorainm127.0.0.1%^$#!@%*&!dorainm@desktop:~/workroom/c/mylib/dmysql$

注:关于dMySQL自己封装的MySQL库的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!