博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity链接SqlServer数据库并进行简单的数据查询
阅读量:6336 次
发布时间:2019-06-22

本文共 2284 字,大约阅读时间需要 7 分钟。

hot3.png

1、我写的程序不需要数据库

    写了好久的unity单机应用,终于鼓起勇气说服自己尝试连接数据库,并着手学习写网络应用了。谨以此纪念我不思进取的青春吧。

    在unity中,数据的存储方式很多,但是最实用的仍然还是用数据库的方式。那么具体应该怎么操作呢?

 

2、我需要点什么

    首先,我需要给自己的电脑装上SqlServer数据库。至于怎么下载和安装,请未来的我自己百度,这里不做赘述。

    第二,我们安装好SqlServer之后,打开SqlServer配置管理器,启动如下服务。

191026_Jx3Z_2725918.png

    第三,创建名为Test的数据库,创建一个Table_1的表,并添加一条数据为张三,如下图所示:

193638_BXdv_2725918.png

    到此关于SqlServer方面的准备就已经做好了。

    第四,既然是Unity的数据连接,当然需要你的电脑至少有Unity和VS啦。我这里用的版本是Unity2017和VS2017。

 

3、那么开始吧

    首先,打开Unity,创建新工程。并在unity的安装路径下找到 System.Data.dll 文件。具体路径为 Unity安装路径\Unity\Editor\Data\Mono\lib\mono\unity\。将此文件复制到Unity工程Assets目录下。

191934_fvPg_2725918.png

    这样就可以开始写脚本连接数据库对数据进行操作了,但是这样会存在一个问题,就是当程序发布出去之后,你的数据库就没有办法连接了。在这种情况下,我们需要在上述同样路径下找到以下文件,并将其复制到unity工程Assets目录下。

这里写图片描述

    然后新建一个名为sqltest的c#脚本,用VS打开,在项目解决方案的引用中检查是否成功引用刚刚导入的几个文件,如果成功导入,则可以开始编辑脚本;如果没有,则应该添加对应引用。

192715_YYdg_2725918.png

    脚本内容及注释如下所示:

using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Data;using System.Data.SqlClient;public class sqltest : MonoBehaviour {    //数据库连接的定义    private SqlConnection sqlCon;    //数据库连接地址    private string sqlAddress = "server=192.168.200.21;database=Test;uid=sa;pwd=123456";    //适配器    SqlDataAdapter sda = null;    // Use this for initialization    void Start()    {        //传建一个数据库连接事件        sqlCon = new SqlConnection(sqlAddress);    }    // Update is called once per frame    void Update()    {        //按下空格键,执行对应操作        if (Input.GetKeyDown(KeyCode.Space))        {            Debug.Log("space down");            try            {                //打开连接                sqlCon.Open();                //连接成功                Debug.Log("Yes");                //数据库操作语句                string sql = "select * from Table_1";                //数据库操作                sda = new SqlDataAdapter(sql, sqlAddress);                //结果集                DataSet ds = new DataSet();                //将查询的结果放入结果集                sda.Fill(ds, "Table_1");                //打印结果                print(ds.Tables[0].Rows[0][0]);            }            //如果出现异常,抛出           catch (System.Exception)           {            Debug.Log("No");            throw;           }        }        //空格键抬起,数据库连接关闭        else if (Input.GetKeyUp(KeyCode.Space)) {            Debug.Log("space up");            sqlCon.Close();        }    }}

    脚本编译完成,保存,将脚本绑定到某一游戏物体上。运行,按下空格键,运行结果如下所示:

193351_wf91_2725918.png

 

    4、最后说两句

    好久没写博客了啊,要坚持要坚持~

 

转载于:https://my.oschina.net/CoderBleak/blog/1510050

你可能感兴趣的文章
vmware nat模式原理探究,实现虚拟机跨网段管理
查看>>
JavaSE 学习参考:集合运算
查看>>
【Signals and Systems】 SYLLABUS
查看>>
RH135-2-command-line-interface
查看>>
mac下开启docker API远程调用
查看>>
tar 命令的详解
查看>>
Cisco路由器安全配置
查看>>
第十次作业
查看>>
给定一个字符串s,返回去掉子串"mi"后的字符串。
查看>>
Nginx 外的另一选择,轻量级开源 Web 服务器 Tengine 发布新版本
查看>>
Wrod中超链接的一些技巧
查看>>
IP_VFR-4-FRAG_TABLE_OVERFLOW【cisco设备报错】碎片***
查看>>
Codeforces Round #256 (Div. 2) D. Multiplication Table 【二分】
查看>>
ARM汇编指令格式
查看>>
HDU-2044-一只小蜜蜂
查看>>
HDU-1394-Minimum Inversion Number
查看>>
[转] createObjectURL方法 实现本地图片预览
查看>>
JavaScript—DOM编程核心.
查看>>
JavaScript碎片
查看>>
Bootstrap-下拉菜单
查看>>