UE4MySQL数据库插件开发-mysql数据库连接(三)

1.在Visual Studio中打开 我们以前创建MyConnectionObject.h和MyConnectionObject.cpp文件。然后引入头文件,添加如下所示代码。

MyConnectionObject.h文件

#pragma once
 
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
//引入mysql头文件
#include "mysql.h"
#include "MyConnectionObject.generated.h"
 
/**
 *数据库连接对象类
 */
UCLASS(BlueprintType)//声明为蓝图类型的类
class TESTMYSQL_API UMyConnectionObject : public UObject
{
	GENERATED_BODY()
private:
    //声明私有构造函数
    UMyConnectionObject();
public:
    //声明MySQL连接对象
    MYSQL* Conn;
};

MyConnectionObject.cpp文件

 
#include "MyConnectionObject.h"
 
 
UMyConnectionObject::UMyConnectionObject()
{
	//初始化连接对象
	Conn = nullptr;
}

2.打开SqlBlueprintFunctionLibrary.h和SqlBlueprintFunctionLibrary.cpp文件,添加如下所示代码。

SqlBlueprintFunctionLibrary.h文件

#pragma once
 
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
//引入mysql头文件
#include "mysql.h"
//引入数据库连接对象头文件
#include "MyConnectionObject.h"
#include "SqlBlueprintFunctionLibrary.generated.h"
 
/**
 * 数据库连接类
 */
UCLASS(BlueprintType)//声明为蓝图类型
class TESTMYSQL_API USqlBlueprintFunctionLibrary : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()
public:
    /**
     * 连接MySQL数据库函数
     */
    UFUNCTION(BlueprintCallable,Category="SQL Utilities")
    static UMyConnectionObject* ConnectToMySQL(FString Host,FString userName,FString Password,FString dbName,int32 Port,FString& Msg);
};

 SqlBlueprintFunctionLibrary.cpp

#include "SqlBlueprintFunctionLibrary.h"
#include <string>
 
UMyConnectionObject* USqlBlueprintFunctionLibrary::ConnectToMySQL(FString Host, FString userName, FString Password, FString dbName, int32 Port, FString& Msg)
{
	//字符编码格式转换
	std::string t_Host(TCHAR_TO_UTF8(*Host));
	std::string t_userName(TCHAR_TO_UTF8(*userName));
	std::string t_Password(TCHAR_TO_UTF8(*Password));
	std::string t_dbName(TCHAR_TO_UTF8(*dbName));
	//数据库连接对象创建
	UMyConnectionObject* ConnObj = NewObject<UMyConnectionObject>();
	//初始化MYSQL连接对象
	ConnObj->Conn = mysql_init(nullptr);
	//判断连接状态,并返回相应信息
	if (!mysql_real_connect(ConnObj->Conn,t_Host.c_str(),t_userName.c_str(),t_Password.c_str(),t_dbName.c_str(),(uint32)Port,nullptr,0))
	{
		Msg = TEXT("fail");
	}
	else 
	{
		Msg = TEXT("success");
	}
	//返回数据库连接对象
	return ConnObj;
}

3、点击上方的本地Windows调试器按钮,等待片刻,编译完成后会自动打开UE4编辑器。

4、 打开UE4编辑器中的关卡蓝图,右键搜索ConnectToMySQL函数,拖到图表区域中。填写数据库相关信息,Host是数据库地址(默认为127.0.0.1),UserName是数据库用户名(默认为root),Password是数据库密码,DbName是数据库名,Port是数据库端口号(默认为3306)。

 注意事项:

连接之前需将安装的数据库开启

数据库搭建可参考我的博客https://blog.csdn.net/u014577128/article/details/122578503?spm=1001.2014.3001.5502

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

手可摘星辰0120

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值