Unity3D连接SQL Sever数据库

在编写网络游戏时,我们经常需要让玩家注册账号,这时我们就需要用数据库来保存玩家数据,本文简单介绍一下Unity3D如何连接SQL Sever数据库。(本人用的是SQL Sever2012)。

1.找到System.Data.dll文件,默认的地址是在C:\Program Files\Unity\Editor\Data\Mono\lib\mono\unity,这个根据你所安装的路径有关。

2.将该文件放到你游戏的Assets文件夹下。

3.在你的编辑器中添加引用,我用的是VS。在项目标签下。

Unity3D连接SQL Sever数据库_第1张图片

4.确保你的SQL Server开启了远程连接,否则会发生“远程主机强迫关闭了本次连接这个错误”。如何开启远程连接请参考:http://jingyan.baidu.com/article/6c67b1d6ca06f02787bb1ed1.html

5.打开SQL Server,我们在里面新建一个数据库,命名为School:(右键Databases,新建数据库就行)

Unity3D连接SQL Sever数据库_第2张图片


6.选中School,在Query窗口里输入如下SQL语句:

create Table Student
(
	Name varchar(11),
	Age int,
	Gender char(6)

)
这样我们就建好了一个名为Student的表。

7.我们先插入两行数据:

insert into Student
values('李逍遥',20,'Male'),('重楼',20,'Male')
select * from Student
这样你就会看到下面表中多了两行记录。

8.在Unity里新建脚本,代码如下:

using UnityEngine;
using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;

public class TestSql : MonoBehaviour {

	// Use this for initialization
	void Start () {
        string connString = @"server=localhost\sqlexpress;user id=root;password=root;database=School";//连接字符串
        SqlConnection conn = new SqlConnection(connString);//创建连接对象
        string commandText = @"SELECT * FROM Student";//查询表中所有列
        SqlCommand comm = new SqlCommand(commandText, conn);    
        try
        {
            conn.Open();
            print("连接成功");
            SqlDataReader data = comm.ExecuteReader();
            while (data.Read())
            {
                print(data.GetString(0));//打印表中第0列,也就是学生姓名
            }
            data.Close();//关闭数据
            comm.CommandText = @"INSERT INTO Student(Name,Age,Gender)Values('赵灵儿',18,'Female')";
            comm.ExecuteNonQuery();
        }
        catch (SqlException e)
        {
            print("连接失败");
            print(e.Message);
        }
        finally
        {
            conn.Close();
            print("关闭连接");
        }
	
	}
	
}
注意连接字符串里的server,user id,password要根据你的数据库设置。

9,这样,我们就会发现控制台输出:

Unity3D连接SQL Sever数据库_第3张图片

10.查询数据库,
select * from Student
我们会发现赵灵儿的记录也被添加进来了:



11.OK, THE END.








你可能感兴趣的:(unity3d菜鸟笔记)