您的位置:首页 > 编程语言 > C语言/C++

C/C++调用mysql接口实例1

2016-11-23 21:24 253 查看
实例1:

#include <stdio.h>
#include <stdlib.h>
#include <winsock.h>
#include <mysql.h>
int main()
{
MYSQL*mysql=mysql_init(0);//创建一个连接对象
if (!mysql_real_connect(mysql,"localhost","root","","students",0,0,0))//密码为空;数据库:students;连接失败时FALSE
{
printf("无法连接数据库:%s\n",mysql_error(mysql));
exit(-1);
}
else
{
printf("连接数据库成功\n");
}
system("pause");
return 0;
}


函数:MYSQL *mysql_real_connect(MYSQL *mysql, const char *host,
const char *user, const char *passwd, const char *db,
unsigned int port, const char *unix_socket, unsigned longclient_flag)
参数的指定方式如下:

第1个参数应是已有MYSQL结构的地址。调用mysql_real_connect()之前,必须调用mysql_init()来初始化MYSQL结构。通过mysql_options()调用,可更改多种连接选项。

“host”的值必须是主机名或IP地址。如果“host”是NULL或字符串"localhost",连接将被视为与本地主机的连接。如果操作系统支持套接字(Unix)或命名管道(Windows),将使用它们而不是TCP/IP连接到服务器。

“user”参数包含用户的MySQL登录ID。如果“user”是NULL或空字符串"",用户将被视为当前用户。在UNIX环境下,它是当前的登录名。在Windows
ODBC下,必须明确指定当前用户名。

“passwd”参数包含用户的密码。如果“passwd”是NULL,仅会对该用户的(拥有1个空密码字段的)用户表中的条目进行匹配检查。这样,数据库管理员就能按特定的方式设置MySQL权限系统,根据用户是否拥有指定的密码,用户将获得不同的权限。

调用mysql_real_connect()之前,不要尝试加密密码,密码加密将由客户端API自动处理。

“db”是数据库名称。如果db为NULL,连接会将默认的数据库设为该值。

如果“port”不是0,其值将用作TCP/IP连接的端口号。注意,“host”参数决定了连接的类型。

如果unix_socket不是NULL,该字符串描述了应使用的套接字命名管道。注意,“host”参数决定了连接的类型。

client_flag的值通常为0,但是,也能将其设置为下述标志的组合,以允许特定功能:



本机中存在一个名为:students数据库。我们可以看到连接数据库成功。



实例2:

#include <stdio.h>
#include <stdlib.h>
#include <winsock.h>
#include <mysql.h>
int main()
{
MYSQL*mysql=mysql_init(0);//创建一个连接对象
if (!mysql_real_connect(mysql,"localhost","root","","students",0,0,0))//密码为空;数据库:students;连接失败时FALSE
{
printf("无法连接数据库:%s\n",mysql_error(mysql));
exit(-1);
}
else
{
printf("连接数据库成功\n");
}
if (mysql_query(mysql,"insert into T_Users(UserName,Password) values('qq','aa123')"))
{
printf("插入失败:%s",mysql_error(mysql));
exit(-1);
}
else
{
printf("插入成功\n");
}
mysql_close(mysql);//程序最后必须关闭mysql服务器
system("pause");
return 0;
}

mysql_query(mysql,"insert into T_Users(UserName,Password) values('qq','aa123')")

//执行插入语句

在程序编译运行之前,我们现在"students"数据库中建立一个名为T_Users的表



然后,程序运行结果:



然后查询数据库中表中的字段数据:



我们看到的确操作成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: