Unity 使用数据库(MySql)

ADO.NET,需要了解到Connection 联系连接,,Command命令, ,DataReader对象,DataAdapter 数据适配器,DataSet 资料组这几个对象,他们是操作数据库的重要对象;

Connection:它是建立应用程序与数据库之间的连接通道,起到连接数据库的功能。其访问形式根据数据库的类型而定。以MySQL为例,则连接类型为MySqlConnection。这种连接需要引入相应数据库的命名空间,这里我们需要引入System.Data.MySqlClient。想要引入这个命名空间还需要System.Data.dll文件,就在Unity安装源目录下即可找到,复制导入Unity的Asset即可。

using UnityEngine;
using System.Data;  //注意引用命名空间
using MySql.Data.MySqlClient;


public class OpenSql : MonoBehaviour {

    //数据库名称
    private string dataname = "czhenya01";
    //数据库Ip地址
    private string ipAddress = "127.0.0.1";
    //用户名
    private string root = "root";
    //密码
    private string paw = "123456";

    //创建数据库
    MySqlConnection mySq1Con ;

    // Use this for initialization
    void Start () {
        //此字符串是自己的本地数据库信息
        connectionStr = string.Format("Server={0};Database={1};User ID={2};Password={3}",ipAddress,dataname,root,paw);
        Debug.Log(connectionStr);
        //根据传入字符串,实例化自己的数据库
        mySq1Con = new MySqlConnection(connectionStr);        

    }

    void OnGUI()
    {
        //打开数据库
        if (GUILayout.Button("OpenMySql"))
        {
            if (mySq1Con != null)
            {
                mySq1Con.Open();
                Debug.Log("打开数据库成功");
            }
        }

Command :当应用程序建立与数据源的连接后,就需要Command对象来执行命令并从数据源中返回结果,,,它是一个数据命令对象,主要功能就是想数据库发送查询,更新,删除,修改,操作SQL语句,这边需要键下它执行SQL的几种方法:ExcuteNonQuwry(),该方法是返回受影响的行数可用于统计(数据库的增删改查都在这里面完成)。
代码实现:(代码放在上面的ONGUI()里面

 //输入查询语句点击并查询
      string cmdInp = "insert into czhenya001 values(2000,'chenzy',14,'男')";
        if (GUILayout.Button("SelectMySql"))
        {
            //创建操作数据库的实例(参数是查询语句,数据库)
            MySqlCommand command = new MySqlCommand(cmdInp, mySq1Con);

            if (command != null)
            {
               //返回的是该语句影响的数据库的行数
                int i = command.ExecuteNonQuery();
                Debug.Log(i);
            }
        }

注:上面的查询语句是写成字符串,作为参数传递到函数里面的,,是不区分大小写的,只要格式和单词拼写正确即可,,,

ExecuteReader(),返回一个MySqlDataReader对象,可进行数据的读取,实现代码如下:
代码放在上面的ONGUI()里面

//显示查询到的信息
    string cmdSel = "select * from czhenya001";
        if (GUILayout.Button("SelMySql"))
        {
            //创建操作数据库的实例(参数是查询语句,数据库)
            MySqlCommand command = new MySqlCommand(cmdSel, mySq1Con);

            if (command != null)
            {
                MySqlDataReader msdr = command.ExecuteReader();
                while (msdr.Read())
                {
                    //输出第1,2列信息,,,
                    Debug.Log(msdr[0].ToString()+"\t"+msdr[1].ToString());
                }
                command.Dispose(); //释放内存
            }
        }

DataAdapter:数据适配器,是DataSet与数据源之间的桥梁,它有两种工作方式:一种数是通过Command对象执行SQL语句,从数据源中检索数据,并将检索到的数据填充到DataSet对象,还有一种事把DataSet对象所做的更改写入数据源,,,点击查看vs中DataAdaper使用实例
DataSet:其实上面已经用到了这个对象,他是整个体系的核心,其数据来源于数据库或者XML,为了从数据库中获取数据,需要使用数据适配器从数据中查询数据。
点击查看VS中DataSet实例

你也可以是是试着做个输入框来更改SQL语句,简易效果图如下:Unity 使用数据库(MySql)_第1张图片

你可能感兴趣的:(ジ﹋★☆『,引擎进阶,』,Unity,引擎入门,MySQL,unity操作数据库,Mysql实例,应用)