c语言连接数据库资料

c语言连接数据库资料

ID:40793827

大小:58.50 KB

页数:23页

时间:2019-08-07

c语言连接数据库资料_第1页
c语言连接数据库资料_第2页
c语言连接数据库资料_第3页
c语言连接数据库资料_第4页
c语言连接数据库资料_第5页
资源描述:

《c语言连接数据库资料》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、使用C语言操作MySQL数据库1.连接数据库。从C语言连接MySQL数据库包含两个步骤:a)初始化连接句柄结构;b)实际创建连接。首先使用mysql_init初始化连接句柄:MYSQL*mysql_init(MYSQL*);通常传递一个空指针给mysql_init这个函数,它会返回一个指向新分配的连接句柄结构的指针。如果传递一个已有的结构,他将被重新初始化。如果出错,返回NULL。初始化成功后,则使用mysql_real_connect来创建一个实际的连接:MYSQL*mysql_real_connect(MYSQL*connection,constchar*serv

2、er_host,constchar*sql_user_name,constchar*sql_password,constchar*db_name,unsignedintport_number,constchar*unix_socket_name,unsignedintflags);connection必须是已经初始化的连接句柄结构,server_host可以是主机名,也可以是IP地址,如果仅仅连接到本机,可以使用localhost来优化连接类型。port_number和unix_socket_name应该分别为0和NULL,除非改变了MYSQL安装的默认设置。如果无法

3、连接,返回NULL。完成连接后,在程序正常退出前,应该使用mysql_close关闭这个连接句柄。voidmysql_close(MYSQL*connection);现在我们试图调用以上函数来建立一个对以上已经建好的数据库的访问,程序为connect1.c。内容如下:#include#include#include"mysql.h"intmain(intargc,char*argv[]){MYSQL*conn_ptr;conn_ptr=mysql_init(NULL);//连接初始化if(!conn_ptr){fprintf(st

4、derr,"mysql_initfailed");returnEXIT_FAILURE;}conn_ptr=mysql_real_connect(conn_ptr,"localhost","moldao","newpassword","moldao_test",0,NULL,0);//建立实际连接//参数分别为:初始化的连接句柄指针,主机名(或者IP),用户名,密码,数据库名,0,NULL,0)后面三个参数在默认安装mysql>的情况下不用改if(conn_ptr){printf("Connectionsuccess");}else{printf("Conne

5、ctionfailed");}mysql_close(conn_ptr);//关闭连接returnEXIT_SUCCESS;}然后编译:#gcc-I/usr/include/mysqlconnect1.c-lmysqlclient-oconnect1connect1.c:4:19:错误:mysql.h:没有那个文件或目录提示是没有找到mysql.h,产生这个错误的原因是没有mysql.h文件,它在mysql-devel包中,需要安装这个包:sudoyuminstallmysql-devel-y然后找一下:#locatemysql.h/usr/include/mys

6、ql/mysql.h这样就可以找到这个头文件了(-I的含义是在指定位置搜索头文件,参见mangcc)。再次尝试编译:#gcc-I/usr/include/mysqlconnect1.c-lmysqlclient-oconnect1/usr/bin/ld:cannotfind-lmysqlclientcollect2:ld返回1链接库有问题,找不到mysqlclient链接库,mangcc发现可以在后面用-L指定搜索位置,于是我们先找到mysqlclient库的位置:locate*mysqlclient*/usr/lib/mysql/libmysqlclient.a/u

7、sr/lib/mysql/libmysqlclient.so/usr/lib/mysql/libmysqlclient.so.15/usr/lib/mysql/libmysqlclient.so.15.0.0/usr/lib/mysql/libmysqlclient_r.a/usr/lib/mysql/libmysqlclient_r.so/usr/lib/mysql/libmysqlclient_r.so.15/usr/lib/mysql/libmysqlclient_r.so.15.0.0这样找到位置就可以编译了:gcc-I/usr/includ

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。