• 请问这么清晰的一个投
  • 异形灯带效果的实现方
  • 一些案例图
    • 引擎世界丨EngineWorld.CN
    • 引擎世界丨EngineWorld.CN
    • 引擎世界丨EngineWorld.CN
    • 引擎世界丨EngineWorld.CN
    • 引擎世界丨EngineWorld.CN
    • 引擎世界丨EngineWorld.CN

vc++访问mysql有人弄过么

5
回复
861
查看
[复制链接]

60

主题

893

帖子

4984

积分

精英版主

积分
4984
发表于 2019-12-13 13:52:01 | 显示全部楼层 |阅读模式
如果UE4项目是VC++的,在里面去访问mysql数据库,并且可以打包到移动端
我目前用的是蓝图插件,只支持windows平台,不能打包到移动端

33

主题

776

帖子

2015

积分

中阶编码师

Rank: 2

积分
2015
发表于 2019-12-13 22:46:53 | 显示全部楼层
用 mysql 比较少见啊。如果是游戏自身要存储少量数据,习惯上是用 sqlite,有 ue4 plugin,Win / Linux / Android 都支持。sqlite 项目也制作了一个 sqlite.c 文件,直接把这个文件,添加到 UE4 项目,就可以用了 https://sqlite.org/amalgamation.html
回复

使用道具 举报

60

主题

893

帖子

4984

积分

精英版主

积分
4984
 楼主| 发表于 2019-12-14 11:47:22 | 显示全部楼层
rrfetch 发表于 2019-12-13 22:46
用 mysql 比较少见啊。如果是游戏自身要存储少量数据,习惯上是用 sqlite,有 ue4 plugin,Win / Linux / A ...

那你用sqlite的4.22插件吗,给个我试用试用?
回复

使用道具 举报

33

主题

776

帖子

2015

积分

中阶编码师

Rank: 2

积分
2015
发表于 2019-12-14 22:04:15 | 显示全部楼层
我是业余玩一下 ue4,日常是 c++ 项目,也没用过插件。一般就是直接复制 sqlite3.c 和 sqlite3.h 到源文件目录,然后重新生成 Visual Studio 的 sln 文件。在 sqlite.c 的顶部加上防止报错

  1. #if defined(_MSC_VER)
  2. #pragma warning(disable : 4668)
  3. #endif /
复制代码


然后就可以用 sqlite3 的 C 接口了


  1. #include "dbtestGameModeBase.h"

  2. #include "sqlite3.h"

  3. void AdbtestGameModeBase::StartPlay()
  4. {
  5.         Super::StartPlay();

  6.         UE_LOG(LogTemp, Warning, TEXT("------ GameMode::StartPlay() called."))

  7.         dbrun();
  8. }

  9. // 创建数据库,然后建立一个 user 表
  10. void AdbtestGameModeBase::dbrun()
  11. {
  12.         sqlite3 *db;
  13.         char *errmsg;

  14.         int ret = sqlite3_open("file:../../../../../user.db", &db);

  15.         if (ret != SQLITE_OK) {
  16.                 UE_LOG(LogTemp, Warning, TEXT("------ failed to open sqlite db. exit now"))
  17.                 return;
  18.         }

  19.         const char * SQL_CREATE_TABLE = "CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY, name TEXT);";
  20.         ret = sqlite3_exec(db, SQL_CREATE_TABLE, NULL, NULL, &errmsg);

  21.         if (ret != SQLITE_OK) {
  22.                 UE_LOG(LogTemp, Warning, TEXT("------ failed to create sqlite table. exit now"))
  23.                 sqlite3_close(db);
  24.                 return;
  25.         }

  26.         sqlite3_close(db);
  27. }
复制代码
回复

使用道具 举报

33

主题

776

帖子

2015

积分

中阶编码师

Rank: 2

积分
2015
发表于 2019-12-14 22:05:21 | 显示全部楼层
不过看你的需求,可能 sqlite 不能满足你的需要
回复

使用道具 举报

5

主题

693

帖子

4830

积分

高阶编码师

Rank: 3Rank: 3

积分
4830
发表于 2019-12-24 02:11:04 | 显示全部楼层
应该是mysql.h去调用,U3D用过调用mysql、oracle、sqlite,应该是大同小异
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用艺术创造世界
专业的开发者社区,汇聚众多创作人 提供作品展示
项目交流 工作机会等行业服务
社区邮箱:engineworld@qq.com

扫一扫捐助我们

Powered by 引擎世界中文社区™®© Engine World Inc.( 陕ICP备20012463号 )