文档章节

Unity链接SqlServer数据库并进行简单的数据查询

落叶-归根
 落叶-归根
发布于 2017/08/14 19:37
字数 771
阅读 337
收藏 0
点赞 0
评论 0

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

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

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

 

2、我需要点什么

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

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

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

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

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

 

3、那么开始吧

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

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

这里写图片描述

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

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

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();
        }
    }
}

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

 

    4、最后说两句

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

 

© 著作权归作者所有

共有 人打赏支持
落叶-归根
粉丝 7
博文 86
码字总数 75177
作品 0
朝阳
其他
Linux下python连接sqlserver

最近需要获取一批mssql服务器上的相关数据进行分析,由于需要每天定时获取mssql的数据,并进行报警,而且平时都是在linux下工作,这可犯愁了,google发现一个类似MySQLdb的python模块叫pymss...

China_OS
2013/12/07
0
4
[unity3d]unity跟.net进行http通信

谈谈今天的学习感受,今天收获最大的就是解决了u3d向.net提交表单,然后.net服务器将接受过来的表单数据保存到sqlserver数据库中。unity3d中wwwform默认的是post提交的。 http 提交数据原理 ...

丁小未
2013/12/04
0
0
小觑数据库(SqlServer)查询语句执行过程

近年来,越来越多的NoSql产品不断的以技术革命的者的身份跳出来:"你看哥是多么的快,你们关型型数据库真是战五渣阿"。是的,高性能的场景下NoSql真的很出彩。而我们关系型数据库只能在墙角哭...

Yunanw
2014/04/14
0
4
Unity3D利用Webservice读取数据库

相信大家从事Unity3D开发的,无论是做单机的还是做网游的,特别是稍微大点的项目,都会用到数据库,但是网络上关于Unity3D如何连接数据库的教程少之甚少,搜来搜去无非是那篇Unity3D如何连接...

qq_30279553
04/22
0
0
php连接mssql数据库的几种方式

数据库查询不外乎4个步骤,1、建立连接。2、输入查询代码。3、建立查询并取出数据。4、关闭连接。 php连接mssql数据库有几个注意事项,尤其mssql的多个版本、32位、64位都有区别。 首先,php...

blazeq
2013/02/21
0
0
sqlserver,你的delete语句表名为什么不能别名?

前几天写了几行sql,用于清除环境里面的脏数据,平时开发用的是oracle数据库,看了下里面的语句,处理concat字符串拼接函数看起来稍微特殊点,其它都没有啥问题。百度了下,cancat可以用在收...

heshifk
04/23
0
0
thinkphp链接mssql以及查询中文乱码问题

首先说下我的环境,thinkphp版本3.1 php版本5.2.6 sqlserver2005 mysql版本5.2 最近做一个项目需要连接已有项目的sqlserver数据库来得到一些数据,我们直接的数据库是mysql 所以就需要切换数...

王纪光
2013/08/16
0
2
SQL注入漏洞全接触--入门篇

  随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有...

望志东
2012/04/24
0
0
Unity网页数据交互基本原理

1. u3d是一个3D游戏引擎由于和编辑器集成在一起 所以也可以理解为一个制作/开发平台 2. u3d使用javascript C#作为核心脚本语言 来驱动整个游戏引擎 3. 平台可以发布为Exe执行文件或者打包为供...

qq_30279553
04/22
0
0
SQLserver 关键字作列名

在用 Informatica 从 SQLserver 中抽取数据时碰到这样一个错误: 实际上,这是一个非常简单的 mapping,从源表直抽数据至目标表,没有转换逻辑: 从 Monitor 的 session log 中获取详细的 in...

DreamOver
06/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

DUBBO 详细介绍

摘要: 主要核心部件: Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制. RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能 Registry: 服务目录框架...

明理萝
17分钟前
0
1
4 个快速的 Python 编译器 for 2018

简评:Python 和其他的解释型语言一样经常被吐槽性能不行,所以开发人员为了提升性能创建了不少编译器,本文则选取其中的四个做了基准测试。 Python 其实是一种相当快的语言,但它并不像编译...

极光推送
20分钟前
0
0
spring boot注册多个MQ服务器的问题

关于注册到多个MQ源的文章已经有很多了,这里记录一下声明queue的坑; 如果使用注册bean的方式声明queue,会导致声明的queue同时被注册到所有的MQ源上; //如果使用下面的声明方式,que...

placeholder
21分钟前
0
0
Java面试基础篇——第九篇:BIO,NIO,AIO的区别

现在IO模型主要分三类:BIO(同步阻塞IO),NIO(同步非阻塞IO),AIO()。 先来看看BIO。 1. BIO 服务端接受到请求后,要指派或新建一个线程去处理客户端的IO请求,直到收到断开连接的指令。这么做...

developlee的潇洒人生
26分钟前
0
0
@RequestMapping @ResponseBody 和 @RequestBody 用法与区别

1.@RequestMapping 国际惯例先介绍什么是@RequestMapping,@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为...

特拉仔
28分钟前
1
0
基于 HTML5 结合互联网+ 的 3D 隧道

前言 目前,物资采购和人力成本是隧道业发展的两大瓶颈。比如依靠民间借贷,融资成本很高;采购价格不透明,没有增值税发票;还有项目管控和供应链管理的问题。成本在不断上升,利润在不断下...

xhload3d
30分钟前
0
0
济南小程序热度分析

原文链接:http://www.jnqianle.cn/company/2072.html

tianma3798
31分钟前
1
0
大数据软件

beats 采集 kafka spark hive es grafana zeppelin

ArlenXu
33分钟前
0
0
Mac item2常用快捷键

标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:command + f 分屏 水平分屏:command + d 垂直分屏:c...

说回答
36分钟前
0
0
mac常用软件

1.excel for mac http://www.pc6.com/mac/114205.html

小黑202
37分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部