1.把安装好的MySQL目录里的libmySQL.dll复制到C:\Windows\system32\下(我的是win7,还要添加到:C:\Windows\SysWOW64目录中);
2.把MySQL的头文件添加到环境中:
3.把libmysql.lib添加到VS 2010的项目中。
4.示例代码:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#include<stdio.h>
-
#include<stdlib.h>
-
#include<mysql.h>//包含MySQL所需要的头文件
-
#include<WinSock2.h>//Socket,连接MySQL也需要用的
-
-
- MYSQLmysql,*sock;
-
-
intmain(void)
- {
-
constchar*host="127.0.0.1";
-
constchar*user="root";
-
constchar*passwd="yangfamily";
-
constchar*db="testmysql";
- unsignedintport=3306;
-
constchar*unix_socket=NULL;
- unsignedlongclient_flag=0;
-
-
constchar*i_query="select*fromtest";
-
- MYSQL_RES*result;
- MYSQL_ROWrow;
-
- mysql_init(&mysql);
-
if((sock=mysql_real_connect(&mysql,host,user,passwd,db,port,unix_socket,client_flag))==NULL)
- {
- printf("连接失败,原因是:\n");
- fprintf(stderr,"%s\n",mysql_error(&mysql));
- exit(1);
- }
- else
- {
- fprintf(stderr,"连接MySQL成功!!\n");
- }
-
-
if(mysql_query(&mysql,i_query)!=0)
- {
- fprintf(stderr,"查询失败!\n");
- exit(1);
- }
- else
- {
-
if((result=mysql_store_result(&mysql))==NULL)
- {
- fprintf(stderr,"保存结果集失败!\n");
- exit(1);
- }
- else
- {
-
while((row=mysql_fetch_row(result))!=NULL)
- {
- printf("nameis%s\t",row[0]);
- printf("ageis%s\t\n",row[1]);
- }
- }
-
- }
- mysql_free_result(result);
- mysql_close(sock);
- system("pause");
- exit(EXIT_SUCCESS);
- }
/*********************************************
* *
* 作者:杨志永 *
* 日期:2012-05-17 *
* *
* Email: ljy520zhiyong@163.com *
* QQ: 929168233 *
* *
* 文件名:mysql.c *
* *
* 功能:连接MySQL并查询 *
* *
**********************************************/
#include <stdio.h>
#include <stdlib.h>
#include <mysql.h> //包含MySQL所需要的头文件
#include <WinSock2.h> //Socket,连接MySQL也需要用的
MYSQL mysql, *sock; //声明MySQL的句柄
int main(void)
{
const char * host = "127.0.0.1"; //因为是作为本机测试,所以填写的是本地IP
const char * user = "root"; //这里改为你的用户名,即连接MySQL的用户名
const char * passwd = "yangfamily"; //这里改为你的用户密码
const char * db = "testmysql"; //这里改为你要连接的数据库的名字
unsigned int port = 3306; //这是MySQL的服务器的端口,如果你没有修改过的话就是3306。
const char * unix_socket = NULL; //unix_socket这是unix下的,我在Windows下,所以就把它设置为NULL
unsigned long client_flag = 0; //这个参数一般为0
const char * i_query = "select * from test"; //查询语句
MYSQL_RES * result; //保存结果集的
MYSQL_ROW row; //代表的是结果集中的一行
mysql_init(&mysql); //连接之前必须使用这个函数来初始化
if ( (sock = mysql_real_connect(&mysql, host, user, passwd, db, port, unix_socket, client_flag) ) == NULL ) //连接MySQL
{
printf("连接失败,原因是: \n");
fprintf(stderr, " %s\n", mysql_error(&mysql));
exit(1);
}
else
{
fprintf(stderr, "连接MySQL成功!!\n");
}
if ( mysql_query(&mysql, i_query) != 0 ) //如果连接成功,则开始查询
{
fprintf(stderr, "查询失败!\n");
exit(1);
}
else
{
if ( (result = mysql_store_result(&mysql)) == NULL ) //保存查询的结果
{
fprintf(stderr, "保存结果集失败!\n");
exit(1);
}
else
{
while ( (row = mysql_fetch_row(result)) != NULL ) //读取结果集中的数据,返回的是下一行。因为保存结果集时,当前的游标在第一行【之前】
{
printf("name is %s\t", row[0]); //打印当前行的第一列的数据
printf("age is %s\t\n", row[1]); //打印当前行的第二列的数据
}
}
}
mysql_free_result(result); //释放结果集
mysql_close(sock); //关闭连接
system("pause");
exit(EXIT_SUCCESS);
}
如果编译时出现:
error LNK2019:无法解析的外部符号 _mysql_init@4 类似的错误,请确保:第三步libsql.lib添加了。
5.我的测试结果:
MySQL中的数据:
编程时查询出的数据:
转至http://blog.csdn.net/ljy520yzy/article/details/7576057
分享到:
相关推荐
Windows下 用C语言连接mysql
此文档使用GTK+2.0做了一个小的界面,不过不怎么完整,采用C语言连接MYSQL数据库 代码能运行的前提是: 1.这是centos上的一个小程序,需要在linux的环境下(不知道能否在windows上) 2.linux上装有MYSQL数据库 3....
教你如何使用devc++ 连接mysql数据库 内含所需头文件以及mysql的库
windows下 devc++ c访问mysql数据库 环境配置
用多线程和C语言实现的mysql能很容易充分利用CPU。 2、mysql可运行在不同的操作系统下。简单地说,mysql可以支持Windows95/98/NT/2000以及UNIX、Linux和SUN OS等多种操作系统平台。这意味着在一个操作系统中实现的...
C语言连接数据库对于新手来说最大的障碍是如何配置库文件以及如何配置编译器,下面我详细描述一下我是如何配置的。 1.首先下载完整的MYSQL软件,以及下载MinGW软件 2.将libmysql.dll文件复制到C:\Windows\System32...
2.2 在Windows系统上安装MySQL和相关软件 2.3 在SUSE Linux 9.3系统上安装MySQL和相关软件 2.4 在Red Hat Enterprise Linux 4系统上安装MySQL和相关软件 2.5 编译MySQL软件的开发者版本(Linux) 2.6 ...
该程序使用windows ipc 实现客户端对服务端远程过程调用。其中还涉及到c语言对mysql数据库的连接以及查询等操作。
2.2 在Windows系统上安装MySQL和相关软件 2.3 在SUSE Linux 9.3系统上安装MySQL和相关软件 2.4 在Red Hat Enterprise Linux 4系统上安装MySQL和相关软件 2.5 编译MySQL软件的开发者版本(Linux) 2.6 配置...
一、MySQL 优点: 体积小、速度快、总体拥有成本低,开源; 支持多种操作系统;...支持ODBC for Windows, 支持所有的ODBC 2.5函数和其他许多函数, 可以用Access连接MySql服务器, 使得应用被扩展
Windows恶意软件/僵尸网络如何使用Winsock连接到C语言中的HTTP命令中心的概念证明。 这个怎么运作 使用Winsock创建一个TCP套接字,该套接字连接到配置文件中指定的主机。 僵尸程序连接后,会将从GET请求中接收到的...
在4层模式 下,HAProxy仅在客户端和服务器之间转发双向流量,7层模式下,HAProxy会分析协议,并且能通过允许、拒绝、交换、增加、修改或者删除请求 (request)或者回应(response)里指定内容来控制协议,这种操作要...
用它独创的高效网络算法,它能够比其他Windows FTP服务器处理更多的用户.它还有很多其他FTP服务器没有的独特功能.强大的访问控制规则,可以用来隐藏/显示文件和目录或者禁止/允许用户对文件和目录的指定FTP访问. ...
mssql 微软 只能能运行在windows平台,体积比较庞大,占用许多系统资源, 但使用很方便,支持命令和图形化管理,收费。 中型企业 Mysql 甲骨文 是个开源的数据库server,可运行在多种平台, 特点是响应速度特别快,...
它在 Windows NT/2000/XP 中均可使用,但在 Windows 98 中却没有集成这一个工具。 4. explorer-------打开资源管理器 5. logoff---------注销命令 6. shutdown-------60秒倒计时关机命令 7. lusrmgr.msc----本机...
2012-06-11 21:40 60 access连接字符串.txt 2012-06-11 21:08 666 adc-test.c 2012-06-11 21:07 765,000 AS3游戏编程大学.pdf 2012-06-11 21:40 750,563 ATL开发指南源码.rar 2012-06-11 21:05 186,863 BIOS练习工具...
因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有...
如果想要强行转换变量类型,可以使用与C语言相同的函数settype()。 2.5 变量与常量 可能你已经注意到,变量都有一个美元符号($)的前缀。所有变量都是局部变量,为了使得定义的函数中可以使用外部变量,使用...