用C语言如何对MySQL数据库进行操作有时为了性能,我们会直接用C语言来开发相关的模块,尤其在我们的web应用中,虽然PHP、JSP等脚本均提供了MySQL的接口 , 但是显然直接使用C语言具有更好的安全性和性能,Michael以前用PHP开发的多个项目中就使用了C语言编写的这类接口,然后再编译到php里面 , 供php脚本直接使用,这方面的话题就不多说了 , 下面主要说一下在Linux下如何用C语言连接MySQL数据库,并且读取里面的数据返回,同时如何进行编译 。if defined(_WIN32) || defined(_WIN64)为了支持windows平台上的编译#includewindows.h#endif#includestdio.h#includestdlib.h#includemysql.h我的机器上该文件在/usr/local/include/mysql下定义MySQL数据库操作的宏,也可以不定义留着后面直接写进代码defineSELECT_QUERYselectusernamefromtbb_userwhereuserid=%dintmain(intargc,char**argv)char**argv相当于char*argv[]{MYSQL mysql,*sock;定义数据库连接的句柄,它被用于几乎所有的MySQL函数MYSQL_RES *res;查询结果集,结构类型MYSQL_FIELD *fd ;包含字段信息的结构MYSQL_ROW row ;存放一行查询结果的字符串数组char qbuf[160];存放查询sql语句字符串if(argc!=2){//检查输入参数fprintf(stderr,usage:mysql_selectuserid\n\n);exit(1);}mysql_init(mysql);if(!(sock=mysql_real_connect(mysql,localhost,dbuser,dbpwd,9tmd_bbs_utf8,0,NULL,0))){fprintf(stderr,Couldn'tconnecttoengine!\n%s\n\n,mysql_error(mysql));perror();exit(1);}sprintf(qbuf,SELECT_QUERY,atoi(argv[1]));if(mysql_query(sock,qbuf)){fprintf(stderr,Queryfailed(%s)\n,mysql_error(sock));exit(1);}if(!(res=mysql_store_result(sock))){fprintf(stderr,Couldn'tgetresultfrom%s\n,mysql_error(sock));exit(1);}printf(numberoffieldsreturned:%d\n,mysql_num_fields(res));while(row=mysql_fetch_row(res)){printf(Theruserid#%d'susernameis:%s\n,atoi(argv[1]),(((row[0]==NULL)(!strlen(row[0])))?NULL:row[0]));puts(queryok!\n);}mysql_free_result(res);mysql_close(sock);exit(0);return0;为了兼容大部分的编译器加入此行}编译的时候,使用下面的命令gcc -o mysql_select ./mysql_select.c -I/usr/local/include/mysql -L/usr/local/lib/mysql -lmysqlclient (-lz) (-lm) 后面两个选项可?。?根据您的环境情况运行的时候,执行下面的命令./mysql_select 1将返回如下结果:numberoffieldsreturned:1Theruserid#1'susernameis:Michaelqueryok!上面的代码我想大部分都能看明白,不明白的可以参考一下MySQL提供的有关C语言API部分文档源码天空,各个函数都有详细说明,有时间我整理一份常用的API说明出来 。
c语言如何调用Mysql数据库文件并进行对数据库的操作呢 。MYSQL m_sqlCon;//声明
mysql_init(m_sqlCon);//初始化
mysql_real_connect(m_sqlCon, "127.0.0.1", abc, "root", "hibernate", atoi("3306"),NULL,0)//链接
mysql_query(m_sqlCon, "SET NAMES GB2312"); //设置查询编码格式
res = mysql_query(m_sqlCon,"select * from ms_sendlist where flag = 1 order by style desc");//查询
mysql_query(m_sqlCon, sql);//插入,删除
如何用C语言连接MYSQL数据库1、配置ODBC数据源 。
2、使用SQL函数进行连接 。
对于1、配置数据源 , 配置完以后就可以编程操作数据库了 。
对于2、使用SQL函数进行连接,参考代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#includewindows.h
#includesql.h
#includesqlext.h
void main()
{
HENV henv; //环境句柄
HDBC hdbc; //数据源句柄
HSTMT hstmt; //执行语句句柄
unsigned char datasource[]="数据源名称"; //即源中设置的源名称
unsigned char user[]= "用户名"; //数据库的帐户名
unsigned char pwd[]= "密码"; //数据库的密码
unsigned char search[]="select xm from stu where xh=0";
SQLRETURN retcode; //记录各SQL函数的返回情况
// 分配环境句柄
retcode= SQLAllocEnv(henv); // 等介于 SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL
, henv);
// 设置ODBC环境版本号为3.0
retcode= SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
// 分配连接句柄
retcode= SQLAllocConnect(henv,hdbc); // 等介于 SQLAllocHandle(SQL_HANDLE_DBC, henv, hdbc);
//设置连接属性,登录超时为*rgbValue秒(可以没有)
// SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)(rgbValue), 0);
//直接连接数据源
// 如果是windows身份验证,第二、三参数可以是
C语言怎样连接mysql数据库mysql是有c语言接口的,安装相应库后就可以链接了 , 一般连接mysql的函数是mysql_connect或者mysql_real_connect(大概就是这么拼的吧 。。。)可以使用mysql_query执行sql语句
【c需要怎么调用mysql c语言使用mysql的项目】关于c需要怎么调用mysql和c语言使用mysql的项目的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 发微信视频号怎么最清晰,发微信视频怎么发
- 手机怎么才能打出声音,手机怎么才能打出声音来呢
- 宠物直播伴侣软件,宠物直播伴侣软件下载
- vb.net字符串取代 vb取字符串函数
- 高速路由器怎么连接网络,高速路wifi
- 连城诀单机游戏,连城诀是什么游戏
- stm角色扮演游戏,steam角色扮演类游戏排行
- go语言解读pdf下载 go语言电子书免费
- 汕头专注sap实施服务,sn汕头公司