vc++访问mysql有人弄过么

[复制链接]
查看2795 | 回复5 | 2019-12-13 13:52:01 | 显示全部楼层 |阅读模式
如果UE4项目是VC++的,在里面去访问mysql数据库,并且可以打包到移动端
我目前用的是蓝图插件,只支持windows平台,不能打包到移动端
rrfetch | 2019-12-13 22:46:53 | 显示全部楼层
用 mysql 比较少见啊。如果是游戏自身要存储少量数据,习惯上是用 sqlite,有 ue4 plugin,Win / Linux / Android 都支持。sqlite 项目也制作了一个 sqlite.c 文件,直接把这个文件,添加到 UE4 项目,就可以用了 https://sqlite.org/amalgamation.html
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

rrfetch | 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. }
复制代码
回复 支持 反对

使用道具 举报

rrfetch | 2019-12-14 22:05:21 | 显示全部楼层
不过看你的需求,可能 sqlite 不能满足你的需要
回复 支持 反对

使用道具 举报

uper2011 | 2019-12-24 02:11:04 | 显示全部楼层
应该是mysql.h去调用,U3D用过调用mysql、oracle、sqlite,应该是大同小异
回复 支持 反对

使用道具 举报

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

本版积分规则

59

主题

921

回帖

5596

积分

高阶编码师

积分
5596