Unity3D小白学习日记(02):U3D如何连接SQL SERVER数据库(亲测可行!)
来源:互联网 发布:监控用网络光端机 编辑:程序博客网 时间:2024/06/15 02:20
注1:游戏《坦克大战》的所有素材均来自网上,仅作学习交流使用。有不妥之处,欢迎在下方评论指出。
注2:《坦克大战》是小白根据网上的教学视频来模仿制作而成,SQL SERVER数据库的连接仅作为学习用途,可能毫无商业上或者实际开发中的意义。
先来看看成品:
本文着重介绍如何连接数据库,关于游戏整体的控制及UI制作过程会在另外一篇博客中介绍。
废话不多说,直接开始我们的实验:
第一步:正确配置你的SQL SERVER
在这里小白使用的是SQL SERVER2012版本,2008以上的版本差别不大。
我们先使用window验证方法登录我们的数据库
选择对象资源管理器中你本地的数据库(也就是第一项),右键属性,在安全性下选择SQL SERVER和WINDOWS身份验证模式
顺便在本地数据库中建立一个用于你的游戏的数据库,表的建立需要根据你的游戏实际需要开发什么功能而定
然后打开你的SQL Server 配置管理器,并把Browser启动
把TCP/IP打开,右键属性,正确配置你的1433端口(IP1、IP10、IPALL全部填1433,活动和已启用都选是)
不清楚的同学可以参考这篇博文:SQL Server 2012开启TCP/IP登录,并且启用默认的1433端口
重新启动SQL SERVER,至此我们已经配置完成啦~
第二步,用VS编写代码连接我们的数据库
写代码之前,把这几个文件的引用搜索出来(不然发布游戏之后将不能连接上数据库)
具体路径在:安装目录:\Unity3d\Editor\Data\Mono\lib\mono\2.0
然后把这四个文件的引用放到Asset下:
接着在脚本中编辑我们的代码:
注意:ip是本地的ip地址,默认为127.0.0.1;用户名密码默认为sa和123456,若修改过该值以修改值为准!
using System.Collections;using System.Collections.Generic;using UnityEngine;using System;using System.Data;using System.Data.SqlClient;public class 类名: MonoBehaviour { private string ip = "127.0.0.1"; private SqlConnection connection ; private string databaseName = "Unity3d DataBase"; //数据库的名字 private string ID = "sa"; //用户的账号 private string pwd = "123456"; //用户的密码 private string sqlString; // Use this for initialization void Start() { //连接SQL sqlString = @String.Format("server = {0};database = {1};uid = {2};pwd = {3};", ip, databaseName, ID, pwd); }}
封装SQL的增删改查方法,注意每次调用方法都要实例化一个SqlConnection的实例并调用open()方法,否则会出现空指针异常!
public void ToSqlConnect() { //每次进行sql操作都要创建并打开一个sqlConnection,防止sqlConnection被占用 connection = new SqlConnection(sqlString); connection.Open(); } //插入采用全匹配形式(插入的内容必须完全匹配表格的列名) public DataSet sqlInsert(string values,string tablename) { ToSqlConnect(); string sentense = " insert into " + tablename + " values (" + values + ")"; SqlDataAdapter _adapter = new SqlDataAdapter(sentense, connection); DataSet ds = new DataSet(); _adapter.Fill(ds, tablename); return ds; } //无条件的查询语句 public DataSet sqlCheck(string something,string tablename) { ToSqlConnect(); string sentense = " select "+something+" from "+tablename; SqlDataAdapter _adapter = new SqlDataAdapter(sentense, connection); DataSet ds = new DataSet(); _adapter.Fill(ds, tablename); return ds; } //有条件的查询语句 public DataSet sqlCheck_Condition(string something, string tablename,string condition) { ToSqlConnect(); string sentense = " select " + something + " from " + tablename+" where "+condition; SqlDataAdapter _adapter = new SqlDataAdapter(sentense, connection); DataSet ds = new DataSet(); _adapter.Fill(ds, tablename); return ds; } public DataSet sqlDelete_Condition(string tablename,string condition) { ToSqlConnect(); string sentense = "delete from " + tablename + " where " + condition; SqlDataAdapter _adapter = new SqlDataAdapter(sentense, connection); DataSet ds = new DataSet(); _adapter.Fill(ds, tablename); return ds; } public DataSet sqlUpdate_Condition(string something,string tablename,string condition) { ToSqlConnect(); string sentense = "update " + tablename + " set " + something + " where " + condition; SqlDataAdapter _adapter = new SqlDataAdapter(sentense, connection); DataSet ds = new DataSet(); _adapter.Fill(ds, tablename); return ds; }
如果需要输出DataSet里面的结果,调用 DataSet的实例.Tables[0].Rows[xx行][xx列]
就可以了!
就是这样,我们成功在U3D连接上了SQL SERVER数据库了!
小白还用它来做了个注册和登录系统,看看我的成品:
上述方法有任何不妥的地方欢迎在下方的评论区指出哦,谢谢!
- Unity3D小白学习日记(02):U3D如何连接SQL SERVER数据库(亲测可行!)
- 如何连接SQL Server数据库(Java)
- Unity3D小白学习日记(01):如何把物体移动到鼠标点击处
- Python与sql server数据库交互(学习日记)
- 小白学习日记1:PL/SQL连接本地Oracle数据库Part1
- 小白学习日记1:PL/SQL连接本地Oracle数据库Part2
- Sql server 日记 (数据库同步2)
- Sql server 日记 (数据库安装错误)
- Unity3D小白学习日记(03):Unity3D 常用技巧整理(大量干货!)
- unity3d怎么连接sql server数据库?
- unity3d怎么连接sql server数据库?
- Unity3D 学习笔记(一)初识U3D
- 如何连接SQL Server数据库(Java版)
- C#如何连接数据库(含SQL SERVER/ORACLE)
- 如何连接oracle,mysql, SQL Server数据库(Java版)
- 如何连接SQL Server数据库(Java版)
- SQL Server学习日记(1)
- Unity3D 学习日记(六) 制作简单的小地图
- c语言中部分限制字符函数的实现strncmp,strncat,strncpy,strstr,strrstr
- swift的json解析
- 轻量级大规模机器学习算法库Fregata开源:快速,无需调参
- python socket send 函数 报错:TypeError: a bytes-like object is required, not 'str'
- TLS回调函数的使用
- Unity3D小白学习日记(02):U3D如何连接SQL SERVER数据库(亲测可行!)
- 下一代数据湖技术:Tachyon + Spark将极为重要
- 【剑指offer】面试题:求字符串的所有组合
- swift中tableview给cell添加左划菜单
- 2017.07.28工作日记
- 工厂模式-原型
- 盘点数据大牛公司
- 六路时钟输出
- android在.java中手写布局