记录:Unity脚本的编写7.0

目录

  • 连接数据库
  • 编写脚本
    • 查看效果

有段时间没有更新了,现在有点空,就继续写一下unity的脚本,这次就来写一下关于unity连接数据库的内容

连接数据库

无论是什么语言与应用场景,总有一项东西是绕不开的,那就是数据库(各种意义上),毕竟永远是在和数据打交道(笑),而unity也不例外,不论是登录还是存储游戏数据,数据库的影子无处不子,在这里我们就浅连接一下数据库,进行基础的增删改查工作
当然,下载mysql和可视化软件(如navicat)之类的工作在此就不做赘述,可以通过其他方式自行下载,这里只关注如何连接与简单的操作
注意:在连接数据库的时候注意各种软件的版本,版本不对应就无法生效,很多问题都是这样产生的,而且基本无法通过除了重新安装意外的方式解决,请读者主意,笔者在此使用的是5.7版本mysql
那么就正式开始

像java的导入jar包一样,unity也有自己的方式搭建与mysql连接的地基,导入sql连接文件
先在unity中创建一个文件夹
在这里插入图片描述
导入文件(文件已上传,不行了再用网盘之类的存一下)
注意甄别版本,笔者的unity为2022版,mysql为5.7,需要传入的文件为以下这些内容
在这里插入图片描述

编写脚本

关于获取数据库和实现增删改查的内容

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using MySql.Data.MySqlClient;//MySql连接器命名空间
using System;

public class mysql : MonoBehaviour
{
    //创建数据库
    //服务器名称,端口号,数据库,用户名,密码,数据格式,连接形式

    // Start is called before the first frame update
    string strConn = "server =localhost;port=3306;database=;user=root;password=;Charset=utf8";//这里填自己的数据库名称和密码

    //创建Mysql连接器
    MySqlConnection sqlConnection;
    void Start()
    {
        //操作数据库的第一步
        sqlConnection = new MySqlConnection(strConn);
        try
        {
            sqlConnection.Open();
            Debug.Log(sqlConnection.State);//在代码中进行了分别的测试,也许我不应该放到一起什么的,应该分开来看,不过都这样了,就暂且如此吧,如果要进行别的操作只需要注释掉对应的操作就行了

            //1.增 insert
            //InsterData();
            //2.删 delet
            //DeletData();
            //3.改 update
            //UpdateData();
            //4.查 select
            SelectData();
        }
        catch(System.Exception) {
            throw;
        }
        finally{
            if(sqlConnection.State.ToString()=="open")
        //操作数据库的最后一步
        
        sqlConnection.Close();
        Debug.Log(sqlConnection.State);
        }
        }
//同理,在写sql语句的时候将名称改为自己的表名和属性
    private void SelectData()
    {
        //写sql语句
        string strSql = "select * from qquser where QQUserId= 5;";
        //使用MySqlCommand发送语句
        using(MySqlCommand mySqlCommand = new MySqlCommand(strSql, sqlConnection))
        {
             //执行ExecuteReader方法
             using(MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader())
            {
                //通过MySqlDataReader读取数据
                while (mySqlDataReader.Read()){
                    //使用GetXXX获取不同类型的数据
                    Debug.Log(mySqlDataReader.GetString(0));
                    Debug.Log(mySqlDataReader.GetString(1));
                    //Debug.Log(mySqlDataReader.GetString(2));
                }
            }
        }
        

       
        //throw new NotImplementedException();
    }

    private void UpdateData()
    {
        throw new NotImplementedException();
    }

    private int DeletData()
    {
        string strSql = "delete from qquser where QQUserId=7;";
        using (MySqlCommand mySqlCommand = new MySqlCommand(strSql, sqlConnection))
        {
            //执行ExecuteNonQuery方法
            return mySqlCommand.ExecuteNonQuery();
            throw new NotImplementedException();
        }
    }

    private void InsterData()
    {
        //写sql语句
        //string strSql = "insert into student(name,age) values('虚竹',25);";
        string strSql = "insert into qquser(QQUserId,QQPassword) values(7,321);";
        //使用MySqlCommand发送语句
        using (MySqlCommand mySqlCommand = new MySqlCommand(strSql, sqlConnection))
        {
//执行ExecuteNonQuery方法
        mySqlCommand.ExecuteNonQuery();
        throw new NotImplementedException();
        }
        
    }


    // Update is called once per frame
    void Update()
    {
       
    }
}

查看效果

通过代码中的连接以及增删改查,进入数据库看看有没有生效
虽说是增删改查,但是既然写到了查那就先从查开始吧

将脚本挂载到unity上点击run
在这里插入图片描述
在这里插入图片描述
从控制台打印的数据中可以看到,已经查询到了数据库中的第五条数据

同理,现在来试试增加
在这里插入图片描述
运行后在navicat中刷新,可以看到增加了一条数据

尝试一下把刚加入的数据删除掉
运行后
在这里插入图片描述
可以看到数据库中的数据被删除了

那么我们就完成了增删查的操作,剩下改暂时懒得写了,感兴趣的可以自己尝试一下,只要照猫画虎将sql语句修改一下就可以了

以上。

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

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

相关文章

数据库应用:Ubuntu 20.04 安装MongoDB

目录 一、理论 1.MongoDB 二、实验 1.Ubuntu 20.04 安装MongoDB 三、问题 1.Ubuntu Linux的apt 包管理器更新安装软件报错 2.Ubuntu20.04安装vim报错 3.Ubuntu20.04如何更换阿里源 4.Ubuntu22.04如何更换阿里源 一、理论 1.MongoDB (1)概念 …

MagicPipe3D地下管网三维建模数据规格

经纬管网建模系统MagicPipe3D(www.magic3d.net)本地离线参数化构建三维地下管网(含管道、接头、附属物等)模型,输出标准3DTiles、Obj等格式,支持Cesium、Unreal、Unity等引擎可视化查询。MagicPipe3D三维建…

Python之变量命名、运算符和面向对象

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

【Java Spring】SpringBoot 配置文件

1、Spring Boot配置文件的作用 配置文件的基本作用: 数据库连接信息(包括用户名和密码的设置)项目的启动端口第三方系统的调用密钥等信息用于发现和定位问题的普通日志和异常日志等 2、Spring Boot配置文件的格式 Spring Boot配置文件主要…

中间件安全:Weblogic 漏洞.(使用工具可以利用多种类型漏洞)

中间件安全:Weblogic 漏洞.(使用工具可以利用多种类型漏洞) WebLogic 是美国 Oracle 公司出品的一个 application server,确切的说是一个基于 JAVA EE 架构的中间件,WebLogic 是用于开发、集成、部署和管理大型分布式…

filebeat 日志收集工具

elk:filebeat日志收集工具和logstash相同。 filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动时使用的资源要小的多。 filebeat可以运行在非Java环境。他可以代理logtash在非java环境上收集日志。 filebeat无法实现数据的过…

Python编程进阶:掌握描述符与装饰器的神奇妙用

更多资料获取 📚 个人网站:ipengtao.com Python 是一种多范式编程语言,具有灵活的特性,其中可调用实例、嵌套函数、描述符和装饰器是其功能强大的特性之一。这些概念对于编写高效、优雅的代码至关重要。 可调用实例 在 Python …

leetCode 100. 相同的树 和 leetCode 101. 对称二叉树 和 110. 平衡二叉树 和 199. 二叉树的右视图

1.leetCode 100. 相同的树 C代码: class Solution { public:bool isSameTree(TreeNode* p, TreeNode* q) {if(p nullptr || q nullptr) return pq;return p->val q->val && isSameTree(p->left,q->left) && isSameTree(p->righ…

「有问必答」秒杀系统 Go并发编程实践!

有问必答 摘要 本文将介绍如何使用Go语言的并发原语来构建一个简单的高并发秒杀系统。 我们将使用Go语言的原生库和一些常见的技术手段,包括互斥锁、通道、计数器等,来解决并发访问和数据一致性的问题。 本文只是一个简单的示例,重点是Go语…

虹科方案 | 如何破解CAN与车载以太网之间数据传输和协议转换的难题?

导读:在车辆网络时代,数据传输和协议转换在通信领域中扮演着至关重要的角色。它们不仅能够实现车辆内部系统之间的互联互通,还支持车辆与外部网络进行通信,从而为驾驶者带来更智能、便捷的驾驶体验。本文将介绍CAN总线与车载以太网…

猫头虎分享已解决Bug || Environment for Full Errors and Additional Helpful Warnings

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂&#x1f996…

多线程【第二十章】

线程简介 世间有很多工作都是可以同时完成的。例如,人体可以同时进行呼吸、血液循环、思考问题等活动;用户既可以使用计算机听歌,也可以使用它打印文件。同样,计算机完全可以将多种活动同时进行,这种思想放在 Java 中被称为并发&a…

代码块01-Java

代码块01 一、介绍二、语法三、好处举例 四、使用细节五、练习题1题2 一、介绍 代码块又称为初始化块,属于类中的成员[即是类的一部分],类似于方法,将逻辑语句封装在方法体中,通过包围起来。 但和方法不同,没有方法名…

2023年【起重机械指挥】考试题库及起重机械指挥考试资料

题库来源:安全生产模拟考试一点通公众号小程序 2023年【起重机械指挥】考试题库及起重机械指挥考试资料,包含起重机械指挥考试题库答案和解析及起重机械指挥考试资料练习。安全生产模拟考试一点通结合国家起重机械指挥考试最新大纲及起重机械指挥考试真…

每天学习一点点之从 Control character in cookie value or attribute 异常看 Cookie 字符编码限制

文章开头,感谢 浩哥 在问题排查中的帮助。 背景 昨天,我们接到了来自其他团队的反馈,他们表示在访问我们的服务时,偶尔会遇到 HTTP 500 错误。清除 Cookie 后,服务又恢复正常。根据我们现有的异常处理机制&#xff0…

房屋租赁出售经纪人入驻小程序平台

一款专为房屋中介开发的小程序平台,支持独立部署,源码交付,数据安全无忧。 核心功能:房屋出租、经纪人独立后台、分佣后台、楼盘展示、房型展示、在线咨询、地址位置配套设施展示。 程序已被很多房屋交易中介体验使用过&#x…

华为鸿蒙开发(HarmonyOs开发):超详细的:DevEco Studio 的安装和配置 、华为第三方包依赖:SDK软件包的安装、Nodejs的导入配置

2023年11月28日20:00:00 ⚠️⚠️HarmonyOs 开发工具 ⚠️⚠️ ⚠️⚠️DevEco Studio 的安装和配置⚠️⚠️ 文章目录 一、打开鸿蒙开发工具官网二、下载 DevEco Studio三、配置 DevEco Studio四、错误处理 ⚠️⚠️⚠️❤️❤️ 关注了解更多 一、打开鸿蒙开发工具官网 下面…

可视化文件编辑与SSH传输神器WinSCP如何公网远程本地服务器

可视化文件编辑与SSH传输神器WinSCP如何公网远程本地服务器 文章目录 可视化文件编辑与SSH传输神器WinSCP如何公网远程本地服务器1. 简介2. 软件下载安装:3. SSH链接服务器4. WinSCP使用公网TCP地址链接本地服务器5. WinSCP使用固定公网TCP地址访问服务器 1. 简介 …

美团2023年Q3财报:营收765亿元 即时零售订单量增至62亿笔

11月28日,美团(股票代码:3690.HK)发布2023年第三季度业绩,公司当季收入765亿元(人民币,下同),较去年同比增长22.1%。基于提质增效的经营策略,主体业务表现稳固健康,带动公司整体经调整净利润为57.3亿元。 …

VAE模型及pytorch实现

VAE模型及pytorch实现 VAE模型推导部分最小化KL散度推导代码部分损失函数Encoder部分Decoder部分VAE整体架构 VAE问题参考资料 VAE(变分自编码器)是一种生成模型,结合了自编码器和概率图模型的思想。它通过学习数据的潜在分布,可以…