Unity 连接操作数据库

本人刚刚开始学习这方面知识,只是当做课堂笔记记录,分享给大家,如有错误还请大家多多指教。谢谢

在unity中新建文件夹Plugins,找到unity安装目录中的System.Data.dll文件,放入文件夹中。再将mysql.data.dll文件放入文件夹中
System.Data.dll文件的位置

这里写图片描述

新建脚本UnityMySql(建一个空物体挂上脚本)

using MySql.Data.MySqlClient;
using System.Data;
using System.Collection;
using System.Collection.Generic;
using UnityEngine;

public class UnityMySql : MonoBehaviour
{
    private string dataname = "unity";  //数据库名称
    private string ipAddress = "127.0.0.1";   //数据库IP
    private string root = "root";   //用户名
    private string password = "123456";    //数据库密码
    MySqlConnection mySqlConnection;   //要连接的数据库对象
    private string connectionStr = "";   //连接的字符串
    public string cmdText1 = "select * from account";   //查询语句
    public string cmdText2 = "Insert into account value('你好','789','男',20,'[email protected]');"; //查询语句。添加信息。注意value括号后必须有分号
    void Start()
    {
        connectionStr = string.Format("Server={0};Database={1};User ID={2};Password={3}",ipAddress,dataname,root,password);
        mySqlConnection = new MySqlConnection(connectionStr);  //创建数据库对象        
    }
     void OnGUI()
    {
        if (GUILayout.Button("openMySql"))//建一个按钮,打开数据库
        {            
            if (mySqlConnection != null)//如果数据库对象不是空
            {
                mySqlConnection.Open();//打开数据库
            }
        }
        if (GUILayout.Button("SelectTable"))//建一个按钮,查询数据库
        {
            MySqlCommand command = new MySqlCommand(cmdText1, mySqlConnection);//执行命令MySqlCommand
            if (command != null)
            {
                //查询数据库内容,但不影响内容(不修改)
                MySqlDataReader reader = command.ExecuteReader();
                if (reader.HasRows) //是否检测到行(有行存在)
                {
                    while(reader.Read())//读取行内的信息,读取到为true,直到没有行为止
                    {
                        string TempStr = "";//用来存内容
                        TempStr += reader["用户名"];//reader["用户名"]表示查询表格中的用户名一栏
                        print(TempStr);
                    }
                }
                //读取数据库内容,并修改
                //command.ExecuteNonQuery();
                //查询数据库内容,但不影响内容(不修改)
                //command.ExecuteReader();
            }
        }
        if (GUILayout.Button("InsertText"))//建一个按钮,向数据库添加信息
        {
            MySqlCommand command = new MySqlCommand(cmdText2, mySqlConnection);//执行cmdText2的命令
            if (command != null)
            {
                command.ExecuteNonQuery();//添加信息               
            }
        }
    }
}

脚本

Unity 连接操作数据库_第1张图片

你可能感兴趣的:(Unity,开发)