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对象所做的更改写入数据源,
DataSet:其实上面已经用到了这个对象,他是整个体系的核心,其数据来源于数据库或者XML,为了从数据库中获取数据,需要使用数据适配器从数据中查询数据。
你也可以是是试着做个输入框来更改SQL语句,简易效果图如下: