Unity链接MySql数据库

一、连接准备

1. MySql.Data插件

  • Visual Studio中下载
  • 打开Visual Studio_项目_管理NuGet程序包在这里插入图片描述
  • 浏览中搜索MySql.Data并下载在这里插入图片描述

2.MySql官网下载插件

  • 前提已经安装mysql,然后到官网下载以下三个东西(最好不要使用最新版本)
    • MySQL Connector Net
    • Connector ODBC 8.0
    • MySQL for VIsaul Studio在这里插入图片描述在这里插入图片描述
  • 下载完直接双击(傻瓜式)安装即可

3.连接测试(可选)

  • 打开Visual Studio_视图_服务器资源管理器在这里插入图片描述

  • 在弹出的窗口,右键数据连接,选择添加连接在这里插入图片描述

  • 选择MySQL Database,点击继续在这里插入图片描述

  • 输入数据库地址、账号、密码、数据库名,然后点击测试连接在这里插入图片描述

  • 弹出对话框“测试连接成功”,则可进入下一步在这里插入图片描述

二、Unity链接MySql

1.在Unity中导入dll文件

  • dll如下(共五个)
    • 如果不打包exe文件,仅需导入最后一个dll文件即可
      在这里插入图片描述

在路径:C:\Program Files (x86)\MySQL\MySQL Connector Net6.8.7\Assemblies\v2.0中找到MySql.Data.dll导入Unity中Plugins文件夹下

在这里插入图片描述

对应Unity的安装目录:Unity\Editor\Data\MonoBleedingEdge\lib\mono\unityjit;找到其余dll文件

在这里插入图片描述

2. 创建数据库,内容如下:在这里插入图片描述

3. 编写查询脚本进行测试

public void InquireMysql()
    {
        //数据库地址、用户名、密码、数据库名
        string sqlSer = "server = localhost;port = 3306;database = test;user = root;password = 123456";
        //建立连接
        MySqlConnection conn = new MySqlConnection(sqlSer);
        try
        {
            conn.Open();
            Debug.Log("------链接成功------");
            //sql语句
            string sqlQuary = " select * from mytable";

            MySqlCommand comd = new MySqlCommand(sqlQuary, conn);
            MySqlDataReader reader = comd.ExecuteReader();

            while (reader.Read())
            {
                //通过reader获得数据库信息
                Debug.Log(reader.GetString("user_name"));
                Debug.Log(reader.GetString("user_password"));
            }
        }
        catch (System.Exception e)
        {
            Debug.Log(e.Message);
        }
        finally
        {
            conn.Close();
        }
    }

运行结果:在这里插入图片描述

4. 编写插入脚本进行测试

  • 修改,删除处理在此脚本基础上修改SQL语句即可
public void ChangedMysql()
    {
        //数据库地址、用户名、密码、数据库名
        string sqlSer = "server = localhost;port = 3306;database = test;user = root;password = 123456";
        MySqlConnection conn = new MySqlConnection(sqlSer);
        try
        {
            conn.Open();
            Debug.Log("------链接成功------");
            string sqlQuary = "insert into mytable(user_name,user_password) values (@user_name, @user_password)";

            MySqlCommand comd = new MySqlCommand(sqlQuary, conn);
            comd.Parameters.AddWithValue("@user_name", "用户名");
            comd.Parameters.AddWithValue("@user_password", "密码");

            comd.ExecuteNonQuery();

        }
        catch (System.Exception e)
        {
            Debug.Log(e.Message);
        }
        finally
        {
            conn.Close();
        }
    }

运行结果:在这里插入图片描述

三、问题处理

1.打包后无法连接数据库

  • 首先确认所需的五个dll文件是否已经全部导入
  • 在Unity中去修改Api Compatibility Level为.NET 4.x

路径:Project Setting->player->othersetting->Configuration->Api Compatibility Level
在这里插入图片描述

  • 如果Unity版本是2018及以前的,还需要导入System.Data.dll和System.Drawing.dll两个文件;

2.遇到其他问题欢迎读者提出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/225605.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何从Git上拉取项目

1.Git的概念 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。它实现多人协作的机制是利用clone命令将项目从远程库拉取到本地库,做完相应的操作后再利用push命令从本地库将项目提交至远程库。 2.Git的工作流程 …

【Java系列】详解多线程(一)

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】 本专栏旨在分享学习Java的一点学习心得,欢迎大家在评论区交流讨论💌 目录 一、背景引入二、线程…

echarts绘制一个饼图

其他echarts&#xff1a; qecharts绘制一个柱状图&#xff0c;柱状折线图 效果图&#xff1a; 代码&#xff1a; <template><div class"wrapper"><div ref"pieChart1" id"pieChart1"></div><div ref"pieCha…

CCF编程能力等级认证GESP—C++1级—20230611

CCF编程能力等级认证GESP—C1级—20230611 单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09;判断题&#xff08;每题 2 分&#xff0c;共 20 分&#xff09;编程题 (每题 25 分&#xff0c;共 50 分)时间规划累计相加 答案及解析单选题判断题编程题1编程题2 单选题…

docker安装配置prometheus+node_export+grafana

简介 Prometheus是一套开源的监控预警时间序列数据库的组合&#xff0c;Prometheus本身不具备收集监控数据功能&#xff0c;通过获取不同的export收集的数据&#xff0c;存储到时序数据库中。Grafana是一个跨平台的开源的分析和可视化工具&#xff0c;将采集过来的数据实现可视…

2023年6月21日 Go生态洞察:Go 1.21版发行候选版的深入分析

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

基于SpringBoot+Thymeleaf+Mybatis实现大学生创新创业管理系统(源码+数据库+项目运行指导文档)

一、项目简介 本项目是一套基于SpringBoot实现大学生创新创业管理系统&#xff0c;主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目可以直接作为bishe使用。 项目都经过严格调试&#…

局域网共享打印机设置,解决709、11B等一切共享问题

Win7、Win10、Win11添加共享打印机经常出现局域网共享打印机出错&#xff0c;常规的添加方式是SMB共享&#xff0c;一更新就出问题&#xff0c;报错0x00000709、0x0000011b等。 网上有许多方法&#xff0c;如卸载更新补丁&#xff0c;替换“win32spl.dll”文件&#xff0c;修改…

排查200M宽带下行速度低于100M问题(七十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

sql注入 [GXYCTF2019]BabySQli1

打开题目 多次尝试以后我们发现存在一个admin的账号&#xff0c;但是密码我们不知道 我们尝试一下万能密码 admin or 11 -- q 报错 我们尝试bp抓一下包看看 看着很像编码 先去base32解码 再base64解码 得到 我们从这个sql语句中得到注入点为name 根据报错信息我们知道是…

Python语言基础知识(一)

文章目录 1、Python内置对象介绍2、标识符与变量3、数据类型—数字4、数据类型—字符串与字节串5、数据类型—列表、元组、字典、集合6、运算符和表达式7、运算符和表达式—算术运算符8、运算符和表达式—关系运算符9.1、运算符和表达式— 成员测试运算符in9.2、运算符和表达式…

vue+echarts实现桑吉图的效果

前言&#xff1a; 在我们项目使用图形的情况下&#xff0c;桑吉图算是冷门的图形了&#xff0c;但是它可以实现我们对多级数据之间数据流向更好的展示的需求&#xff0c;比如&#xff0c;我们实际数据流向中&#xff0c;具有1对多&#xff0c;多对多的情况下&#xff0c;如果用…

uni-app实现安卓原生态调用身份证阅读器读卡库读身份证和社保卡、银行卡、IC卡等功能

DONSEE系列多功能读写器Android Uniapp API接口规范V1.0.0 本项目Uniapp调用了身份证读卡器的库文件&#xff1a;DonseeDeviceLib-debug.aar&#xff0c;该库放到nativeplugins\donsee-card\android&#xff0c;然后会自动加载。SDK会自动检查是否拥有USB设备权限&#xff0c;…

关于物联网仪表ADW300 远传电表的详细介绍-安科瑞 蒋静

1概述 ADW300无线计量仪表主要用于计量低压网络的三相有功电能&#xff0c;具有体积小、精度高、功能丰富等优点&#xff0c;并且可选通讯方式多&#xff0c;可支持 RS485 通讯和 Lora、NB、4G、wifi 等无线通讯方式&#xff0c;增加了外置互感器的电流采样模式&#xff0c;从而…

数据结构与算法(五)回溯算法(Java)

目录 一、简介1.1 定义1.2 特性1.3 结点知识补充1.4 剪枝函数1.5 使用场景1.6 解空间1.7 实现模板 二、经典示例2.1 0-1 背包问题2.2 N皇后问题 一、简介 1.1 定义 回溯法&#xff08;back tracking&#xff09;是一种选优搜索法&#xff0c;又称为试探法&#xff0c;按选优条…

为什么 AWS 数据库不讲 HTAP

在 AWS re:Invent 2023 掌门人 Adam Selipsky 的 Keynote 上&#xff0c;数据库方面最重磅的主题是 Zero-ETL&#xff0c;从 TP 数据库 (RDS, Aurora, DynamoDB) 同步数据到 AP 数据库 (Redshift)。 Zero-ETL 是 AWS 在去年 re:invent 2022 上推出的概念&#xff0c;今年则继…

网络层之IP组播

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

【力扣】206.反转链表

206.反转链表 这道题有两种解法&#xff0c;但不只有两种&#xff0c;嘿嘿。 法一&#xff1a;迭代法 就是按循序遍历将每一个指针的指向都给改了。比如说1——>2——>3改为null<——1<——2<——3这样。那这里以第二个结点为例&#xff0c;想一想。我想要指向…

如何在Linux上部署1Panel运维管理面板并远程访问内网Web端管理界面

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器&#xff0c;包括主机监控、…

BPM、ERP、OA 各自的功能和特点是什么?怎么配合使用?

OA、BPM、ERP几乎是任何一家企业都会接触到的信息管理系统及程序。 首先&#xff0c;我从定义上理清BPM、ERP和OA ERP(Enterprise Resource Planning,企业资源计划)&#xff0c;一般围绕供应链、生产制造和财务为核心。 BPM&#xff08;business process management&#xf…