使用unity连接并读取Access数据库

转自:http://unity.jb51.net/chengxukaifa/shujukubiancheng/1104.html

 

直接为大家分享了使用unity连接Sql Server 。还有很多朋友使用unity连接Access

 

在这里为大家分享下unity连接Access

 

首先需要用到两个外部引用。System.Data.dll 和 System.EnterpriseServices.dll

 

接下来直接贴出代码:

 

 

using UnityEngine;
using System.Collections;
//引入命名空间
using System;
using System.Data;
using System.Data.Odbc;
public class RaderData : MonoBehaviour 
{
    /// <summary>
    /// 声明一个接受读取数据字段值的变量
    /// </summary>
    string text = string.Empty;
    public void Start()
    {
        //读取数据文件。
        ReadStudent(Application.dataPath + "/Wild boar.accdb");
    }
    /// <summary>
    /// 读取表数值的函数
    /// </summary>
    /// <param name="filetoread">数据文件的路径</param>
    internal void ReadStudent(string filetoread)
    {
        //声明连接数据库的字段
        string connection = "Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=" + filetoread;
     
        //从表中查询所有数据
        string sqlQuery = "select * from Student";
        //打开数据库
        OdbcConnection con = new OdbcConnection(connection);
        //对数据库进行操作
        OdbcCommand cmd = new OdbcCommand(sqlQuery,con);
        //根据表名,读取数据到一个临时表
        DataTable dt = new DataTable("Student");
        //try catch finally进行了异常处理,这个是好习惯,嘿嘿
        try
        {
            //打开数据库
            con.Open();
            //读取数据
            OdbcDataReader reader = cmd.ExecuteReader();
            //把数据加载到临时表
            dt.Load(reader);
            //在使用完毕之后,一定要关闭,要不然会出问题
            reader.Close();
            //关闭数据库
            con.Close();
        }
        catch (Exception ex)
        {
            Debug.Log(ex.ToString());
        }
        finally
        {
            //判断数据库是否打开,如果打开就关闭。
            if (con.State!=ConnectionState.Closed)
            {
                con.Close();
            }
            
            //释放数据库资源
            con.Dispose();
        }
        if (dt.Rows.Count>0)
        {
            //读取数据
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                text = dt.Columns[0].ColumnName + " : " + dt.Rows[dt.Columns[0].ColumnName].ToString() + "  |  " + dt.Columns[1].ColumnName + " : " + dt.Rows[dt.Columns[1].ColumnName].ToString() + "  |  " + dt.Columns[2].ColumnName + " : " + dt.Rows[dt.Columns[2].ColumnName].ToString() + "  |  " + dt.Columns[3].ColumnName + " : " + dt.Rows[dt.Columns[3].ColumnName].ToString();
                Debug.Log(dt.Columns[0].ColumnName + " : " + dt.Rows[dt.Columns[0].ColumnName].ToString() + "  |  " + dt.Columns[1].ColumnName + " : " + dt.Rows[dt.Columns[1].ColumnName].ToString() + "  |  " + dt.Columns[2].ColumnName + " : " + dt.Rows[dt.Columns[2].ColumnName].ToString() + "  |  " + dt.Columns[3].ColumnName + " : " + dt.Rows[dt.Columns[3].ColumnName].ToString());
            }
        }
    }
    public void OnGUI()
    {
        GUI.Label(new Rect(10,10,500,200),text);
    }
}

 

DLL文件下载地址 http://unity.jb51.net/yuanma/1105.html

 

 

有什么问题可以留言哦。。。

也可以进入 http://unity.jb51.net/ask/  这里。来提出你的问题哟。。。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。