网站内部优化,有关于网站开发的参考文献,湛江低价网站建设,做爰视频免费安全的网站1.新建一个控制台项目 参考【VS2022 和 VS2010 C语言控制台输出 Hello World】VS2022 和 VS2010 C语言控制台输出 Hello World_vs2022源文件在哪_西晋的no1的博客-CSDN博客 2.安装MySQL 参考【MySQL 8.0.34安装教程】MySQL 8.0.34安装教程_西晋的no1的博客-CSDN博客 3.复制MySQ… 1.新建一个控制台项目 参考【VS2022 和 VS2010 C语言控制台输出 Hello World】VS2022 和 VS2010 C语言控制台输出 Hello World_vs2022源文件在哪_西晋的no1的博客-CSDN博客 2.安装MySQL 参考【MySQL 8.0.34安装教程】MySQL 8.0.34安装教程_西晋的no1的博客-CSDN博客 3.复制MySQL库文件到项目文件中 在MySQL的安装文件夹下看到 include 文件夹和 lib 文件夹。将 include 文件夹和 lib 文件夹以及其内的文件全部复制到项目文件夹中demo.cpp同文件夹下,将lib 文件夹下的libmysql.dll文件复制一份到项目文件夹中(demo.cpp同文件夹下)。 其中include 文件夹下存放的是头文件方法的声明lib 文件夹下存放的是动静态库方法的实现打包成库。 4.新建一个stdbool.h文件内容如下将该文件复制到项目文件夹中 本步骤目的是解决vs编译出错fatalerrorc1083:无法打开包括文件:“stdbool.h”:nosuchfileordirectory(代码片段)。 stdbool.h文件内容如下 /** ISO C Standard: 7.16 Boolean type and values stdbool.h*/#ifndef __STDBOOL_H__
#define __STDBOOL_H__
#define bool int
#define true 1
#define false 0
#endif
/* __STDBOOL_H__ */ stdbool.h文件放于项目文件夹中的include 文件夹下。 5.进行调用库的配置 注意下述所有配置,需要先选择与MySQL库对应的平台 win32 或 x64否则会出错。 如下 error LNK2019: 无法解析的外部符号 _mysql_real_connect32该符号在函数 _main 中被引用 error LNK2019: 无法解析的外部符号 _mysql_query8该符号在函数 _main 中被引用 error LNK2019: 无法解析的外部符号 _mysql_init4该符号在函数 _main 中被引用 error LNK2019: 无法解析的外部符号 _mysql_close4该符号在函数 _main 中被引用 等错误的时候是因为vs项目的位数与MySQL库的位数不匹配。 可以更改项目属性项目属性要改两个地方注意同步修改对应平台下的 库配置 1项目属性--【配置属性】--【VC目录】--【包含目录】:选择mysql库中头文件所在目录 项目文件夹include文件夹 或 C:\Program Files\MySQL\MySQL Server 8.0\include 2项目属性--【配置属性】--【VC目录】--【库目录】:选择mysql库中静态库所在目录 项目文件夹lib文件夹 或 C:\Program Files\MySQL\MySQL Server 8.0\lib 3项目属性--【配置属性】--【链接器】--【输入】--【附加依赖项】 添加libmysql.lib。 6.示例代码1-检验MySQL库配置和调用是否成功 将下述代码覆盖demo.cpp中的内容。 #include stdio.h
#include winsock.h
#include mysql.h
int main()
{MYSQL*mysqlmysql_init(0);system(pause);return 0;
}上述代码编译成功说明配置成功。运行成功说明MySQL库调用成功。 7.示例代码2-获取MySQL客户端版本 将下述代码覆盖demo.cpp中的内容。 #include stdio.h
#include winsock.h
#include mysql.h
int main()
{//获取客户端的版本信息printf(mysql client version:%s\n, mysql_get_client_info());system(pause);return 0;
}8.示例代码3-查询orderitems表中的数据并进行打印输出 这个示例需要的前置条件比较多1.一个数据库2.数据库中有表3.表中有数据4.具有读写数据库权限的用户等。 #include stdio.h
#include winsock.h
#include mysql.hconst char host[] 127.0.0.1; // MySQL所在机器的ip
const int port 0; // MySQL所在机器的端口
const char db[] test; // 数据库名
const char user[] root; // 用户名
const char passwd[] test123; // 用户密码int main()
{//1、获取MySQL实例相当于创建了一个MySQL句柄MYSQL* ms mysql_init(nullptr);//2、连接数据库if(mysql_real_connect(ms, host, user, passwd, db, port, nullptr, 0) nullptr) {printf(数据库连接失败!\n);return 1;}printf(数据库连接成功!\n);mysql_set_character_set(ms, utf8); //设置编码格式为utf8//3、查询数据库表中的记录//a、执行查询语句char sql[] select * from orderitems;;if(mysql_query(ms, sql) ! 0) {printf(查询数据失败!\n);return 2;}printf(查询数据成功!\n);//b、获取查询结果MYSQL_RES* res mysql_store_result(ms);int rows mysql_num_rows(res); //行数int cols mysql_num_fields(res); //列数//获取每列的属性并打印列名MYSQL_FIELD* fields mysql_fetch_fields(res);for(int i 0;i cols;i) printf(%s\t, fields[i].name);printf(\n);for(int i 0;i rows;i) {//获取一行数据并进行打印MYSQL_ROW row mysql_fetch_row(res);for(int j 0;j cols;j) {printf(%s\t, row[j]);}printf(\n);}mysql_free_result(res); // 释放内存空间//4、关闭数据库mysql_close(ms);printf(数据库关闭成功!\n);return 0;
}写在最后本文仅展示了使用MySQL库的基础内容并未介绍过多MySQL 的 C 语言接口的内容读者请自行拓展学习。