Unity如何创建与MySql数据库相连的项目

2 篇文章 0 订阅
1 篇文章 0 订阅

一、 下载MySql
这个自不必多说,你要连接MySql那必须得先下载这个软件,笔者是直接访问的官网(https://dev.mysql.com/downloads)然后进入Windows版面,点击MySql Installer进行下载。

二、创建数据库
使用MySQL提供的MySQL Workbench工具建立一个简单的数据库myscoresdb,然后创建一个数据表并命名为Hlscores,添加3条数据,分别为id,name和score用来保存用户名和得分,其中主键为id,这个过程比较简单,详细的可以百度MySql WB怎么创建数据库与表格。

三、导入DLL文件
笔者所用的Unity版本为2018版本,经过实验后发现Unity的System.dll和System.data.dll都不需要再次放入项目的Assets文件夹引用。所以只需要去找到 \%MySql安装根目录%\Connector.NET 6.9\Assemblies\v4.5中,将MySql.Data.dll拷贝到Unity工程目录下Assets文件中即可。
在这里插入图片描述
PS: 笔者是在C盘Program Files(x86)文件夹下找到的,发现了如果是去Program Files文件夹下找到MySql文件夹点进去后出现的是Connector.ODBC。在Program Files(x86)下找到的才是Connector.NET6.9。

另外,笔者VS2017 用vs4.5文件夹下的MySql.data.dll文件才可引用,用vs4.0文件夹下的MySql.data.dll文件不可引用。

四、创建数据库控制类代码
在unity项目中创建C#代码,进入VS2017,点击上方工具栏内的项目-> 添加引用->浏览(如下图所示,是右下角的浏览)

点击浏览之后打开该项目的Assets文件夹,点击MySql.data.dll文件后点击右下角的添加进行引用
在这里插入图片描述
然后编写该连接脚本


using UnityEngine;  
using System;  
using System.Collections;  
  
using System.Data;  
using MySql.Data.MySqlClient;  
  
  
public class GameStart : MonoBehaviour  
{  
    void Start()  
    {  
        string constr = "server=localhost;Database=myscoresdb;User Id=root;password=root";  
        //建立连接的语句  
        //如果是本地数据库server为localhost,不是则输入server的地址。User Id是你MySql访问数据库使用的账户账号
        //password是你MySql访问数据库的账户密码。Database就是之前创建的数据库的名字。
        MySqlConnection mycon = new MySqlConnection(constr); //建立连接  
        mycon.Open();  
          
        //插入的指令  
        MySqlCommand mycmd = new MySqlCommand("insert into hlscores(id,name,score) values(4,'lisi',123)", mycon);  
        if (mycmd.ExecuteNonQuery() > 0)  
            Debug.Log("Insert success!");  
  
        //查询指令  
        string selstr = "select * from hlscores";  
        MySqlCommand myselect = new MySqlCommand(selstr, mycon);  
        DataSet ds = new DataSet();  
        try  
        {  
            MySqlDataAdapter da = new MySqlDataAdapter(selstr, mycon);  
            da.Fill(ds);  
            Debug.Log("Query success!");  
            print(ds.Tables[0].Rows[0][0]);  
        }  
        catch (Exception ee)  
        {  
            throw new Exception("SQL: " + selstr + "\n" + ee.Message.ToString());  
        }  
        mycon.Close(); //关闭连接  
    }  
}  

保存脚本,之后将该脚本挂到游戏场景内任一物体,点击运行unity即可在左下角的控制台看到Debug.log发出的消息。如下图所示:
在这里插入图片描述
如果还是不能连接数据库,则可以启动TCP/IP协议再次尝试一下。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值