Unity连接SQLServer

一、使用软件版本  

这是我测试使用的版本,其它版本应该差别不大

  unity5.6.1        Visuad Studio2017         SQLServer2014       

二、准备环节及可能遇到的坑

1.SQLServer2014  下载地址: https://www.microsoft.com/en-us/download/details.aspx?id=42299

2.安装完后,打开microsoft sql Management Studio,第一次先选择Windows身份验证。

点击连接,可能出现错误:

解决方法:运行==>输入services.msc==>服务,打开这两项服务

3.设置登录名与密码

打开:安全性==>登录名==>sa==>设置密码,确认

三、Unity配置

1.导入dll,在\unity\Editor\Data\Mono\lib\mono\unity 找到这三个dll导入

2.连接SQL Server

private string connectionString;
    private SqlConnection dbConnection;

    public void Start()
    {
        connectionString = "Server=192.168.0.111;user=sa;pwd =1234;database=Yasin";
    }

    public void ConnectSQL()
    {     
       
        dbConnection = new SqlConnection(connectionString); //连接

        try
        {
            dbConnection.Open();
            Debug.Log("链接成功!");
        }
        catch (Exception e)
        {
            Debug.Log("链接失败:" + e);
            throw;
        }
    }

如果发现无法连接服务器。解决方案:打开   此电脑-》右键-》管理-》服务和应用程序-》SqlServer配置管理器-》SqlSERVER网络配置器-》右键-》双击-》tcp/ip协议,改为启动。然后双击-》ip地址-》将ipaii的tcp端口改为 1433. tcp动态端口设为空。IP2的地址设置为自己的ip地址。保存退出/重启SQLServer服务与SQLServer Management Studio

3.读取SQL数据

    public void ReadSQL()
    {
        string str = "";
        //数据库操作语句
        string sql = "select * from player";
        //数据库操作
        SqlDataAdapter sda = new SqlDataAdapter(sql, connectionString);
        //结果集
        DataSet ds = new DataSet();
        //将查询的结果放入结果集
        sda.Fill(ds, "player");
        //按行和列打印出数据
        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
        {

            for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
            {
                str += ds.Tables[0].Rows[i][j].ToString().Trim() + "    ";
                if (j == ds.Tables[0].Columns.Count - 1)
                {
                    print(str);
                    str = "";
                }
            }
        }
    }

4.写入数据库

        string sql = "insert into Player(id,name,age) VALUES(18,'敌法',22)"; //Player表名    (id,name,age)列名    (17,'大中',25)插入的值
        SqlCommand cmd = new SqlCommand(sql, dbConnection);
        try
        {
            cmd.ExecuteNonQuery();
            Debug.Log("写入成功!");
        }
        catch (Exception e)
        {
            Debug.Log("写入失败:" + e);
            throw;
        }
        dbConnection.Dispose();

5.删除数据

        string sql = "DELETE FROM Player WHERE name='小小';"; //Player表名    name列名    ‘小小’删除列的值
        SqlCommand cmd = new SqlCommand(sql, dbConnection);
        try
        {
            cmd.ExecuteNonQuery();
            Debug.Log("删除成功!");
        }
        catch (Exception e)
        {
            Debug.Log("删除失败:" + e);
            throw;
        }
        dbConnection.Dispose();

6.修改数据

        string sql = "update Player set name='先知' where name='敌法';"; //Player表名    name修改的列名
        SqlCommand cmd = new SqlCommand(sql, dbConnection);
        try
        {
            cmd.ExecuteNonQuery();
            Debug.Log("修改成功!");
        }
        catch (Exception e)
        {
            Debug.Log("修改失败:" + e);
            throw;
        }
        dbConnection.Dispose();

ok,unity与SQL Server的基础交互差不多就这样了

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页