标签:mycon 数据库 dll Unity 文件夹 MySql new
一、 下载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(2,’zhangsan’,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协议再次尝试一下。
标签:mycon,数据库,dll,Unity,文件夹,MySql,new 来源: https://blog.csdn.net/jueluoQAQ/article/details/106730197
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。