一、使用软件版本
这是我测试使用的版本,其它版本应该差别不大
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的基础交互差不多就这样了