vc++访问mysql有人弄过么
如果UE4项目是VC++的,在里面去访问mysql数据库,并且可以打包到移动端我目前用的是蓝图插件,只支持windows平台,不能打包到移动端
用 mysql 比较少见啊。如果是游戏自身要存储少量数据,习惯上是用 sqlite,有 ue4 plugin,Win / Linux / Android 都支持。sqlite 项目也制作了一个 sqlite.c 文件,直接把这个文件,添加到 UE4 项目,就可以用了 https://sqlite.org/amalgamation.html rrfetch 发表于 2019-12-13 22:46
用 mysql 比较少见啊。如果是游戏自身要存储少量数据,习惯上是用 sqlite,有 ue4 plugin,Win / Linux / A ...
那你用sqlite的4.22插件吗,给个我试用试用?:lol 我是业余玩一下 ue4,日常是 c++ 项目,也没用过插件。一般就是直接复制 sqlite3.c 和 sqlite3.h 到源文件目录,然后重新生成 Visual Studio 的 sln 文件。在 sqlite.c 的顶部加上防止报错
#if defined(_MSC_VER)
#pragma warning(disable : 4668)
#endif /
然后就可以用 sqlite3 的 C 接口了
#include "dbtestGameModeBase.h"
#include "sqlite3.h"
void AdbtestGameModeBase::StartPlay()
{
Super::StartPlay();
UE_LOG(LogTemp, Warning, TEXT("------ GameMode::StartPlay() called."))
dbrun();
}
// 创建数据库,然后建立一个 user 表
void AdbtestGameModeBase::dbrun()
{
sqlite3 *db;
char *errmsg;
int ret = sqlite3_open("file:../../../../../user.db", &db);
if (ret != SQLITE_OK) {
UE_LOG(LogTemp, Warning, TEXT("------ failed to open sqlite db. exit now"))
return;
}
const char * SQL_CREATE_TABLE = "CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY, name TEXT);";
ret = sqlite3_exec(db, SQL_CREATE_TABLE, NULL, NULL, &errmsg);
if (ret != SQLITE_OK) {
UE_LOG(LogTemp, Warning, TEXT("------ failed to create sqlite table. exit now"))
sqlite3_close(db);
return;
}
sqlite3_close(db);
}
不过看你的需求,可能 sqlite 不能满足你的需要 应该是mysql.h去调用,U3D用过调用mysql、oracle、sqlite,应该是大同小异
页:
[1]