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("打开数据库成功"); } }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
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); } }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
注:上面的查询语句是写成字符串,作为参数传递到函数里面的,,是不区分大小写的,只要格式和单词拼写正确即可,,,
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(); //释放内存 } }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
DataAdapter:数据适配器,是DataSet与数据源之间的桥梁,它有两种工作方式:一种数是通过Command对象执行SQL语句,从数据源中检索数据,并将检索到的数据填充到DataSet对象,还有一种事把DataSet对象所做的更改写入数据源,,,点击查看vs中DataAdaper使用实例
DataSet:其实上面已经用到了这个对象,他是整个体系的核心,其数据来源于数据库或者XML,为了从数据库中获取数据,需要使用数据适配器从数据中查询数据。
点击查看VS中DataSet实例
你也可以是是试着做个输入框来更改SQL语句,简易效果图如下:
文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。
原文链接:czhenya.blog.csdn.net/article/details/78022674
- 点赞
- 收藏
- 关注作者
评论(0)