加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Unity3d连接SQLServer数据库;以及发布时会遇到的问题

发布时间:2020-12-12 13:08:34 所属栏目:MsSql教程 来源:网络整理
导读:http://www.3lian.com/edu/2014/02-27/131497.html 在编写代码之前需要: 1.引入程序集System.Data.dll,位置在C:Program FilesUnityEditorDataMonolibmonounity(我unity默认装在C盘)。 2.把System.Data.dll文件复制到当前Unity项目文件下,即Assets文件夹下
1 2 net start mysql stop mysql

?

?为了让本机MySQL数据库可以在局域网中任意机器都可以访问,请看 下面这个网址。

http://dzb3688.blog.163.com/blog/static/105068522201292671444891/

文章有一点点讲的不是很清楚,所以我在补充一下、

我用的是Navicat Pewmium查看数据库,我觉得这个数据库挺好的,因为我在Mac上也是用的这个数据库 。(大家可以在网络上下载它,Windows版本居然有汉化的)如下图所示,点击用户,然后双击”root@%” 最后把主机的名字改成 “%”即可、

下面就是重点了,打开cmd 窗口cd到MySQL的路径下,一定要cd到这个路径下,不然mysql 会是无法识别的指令噢。

然后执行命令:

mysql?grant all privileges on *.* to root@”%” identified by ‘abc’ with grant option;??
flush privileges;

在执行命令:

mysql?flush privileges;

OK这样就行了。

然后开始看看代码怎么写,为了方便数据库的创建、增加、删除、修改、查询、我封装了一个类。欢迎大家测试 啦啦啦啦。

SqlAccess.cs

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 using UnityEngine;??System??.Data?? Collections?? MySqlMySqlClient; ;IO;public class SqlAccess { ? ???? staticMySqlConnection dbConnection;//如果只是在本地的话,写localhost就可以。?? // static string host = "localhost";?? //如果是局域网,那么写上本机的局域网IPstringhost = "192.168.1.106"?? id"root";pwd"1234"; database"xuanyusong" ? SqlAccess(){OpenSql);} ? void) { ? try{connectionStringstring.Format("Server = {0};port={4};Database = {1}; User ID = {2}; Password = {3};",hostdatabaseidpwd"3306";dbConnection newMySqlConnection(connectionString; Open }catch (Exceptione) {????????throwException"服务器连接失败,请重新检查是否打开MySql服务。"+MessageToString?? ? } ? } ? DataSet CreateTable(name[]colcolType) ????{ifLength!=Length) { ? ????????????Exception"columns.Length != colType.Length"; ? ????????} ? ????????query"CREATE TABLE "name" ("[0" "]; ? forinti 1<++i{ ? ????????????+=","[; ? } ? ????????")"; ? return??ExecuteQueryquery;} ? CreateTableAutoID) { { ? ; ? } ? ??" NOT NULL AUTO_INCREMENT"; ? { ? ; ? } ? +")"; ? DebugLog; ? ;} ? //插入一条数据,包括所有,不适用自动累加ID。 InsertIntotableNamevalues){ ? "INSERT INTO "tableName" VALUES (""'"]"'"; ? { ? +; ? } ? ; ? ; ExecuteQuery; ? } ? //插入部分ID) { ? { ? ; ? } ? ; ???? { ? ; ? } ? ") VALUES (" ; { ? ; ? } ? ; ? ; ; ? } ? ?? SelectWhereitemsoperation){ ? ||{ ? "col.Length != operation.Length != values.Length"; ? } ? "SELECT "; ? { ? ; ? } ? " FROM "" WHERE ""'""' "; ? { ? " AND "; ? } ? ; ? } ? UpdateInto]colscolsvaluesselectkeyselectvalue) { ? "UPDATE "tableName" SET "" = "; ? { ? " =";} ? " WHERE "selectkeyselectvalue" "; ? ; } ? Delete){ "DELETE FROM "" = "; ? { ? ????" or "; }; ;} ? ??Close) { ? ifnull){ ;Dispose; ;} ? } ? sqlString?? {??State==ConnectionStateOpen) {???? DataSet dsDataSet?? ?????? try?????? ?? ? MySqlDataAdapter daMySqlDataAdapter daFillds; ? ??(Exception ee?? {"SQL:"sqlString"/n"?? }finally {} ;} ;} ? }

然后在来看看调用,把如下脚本绑定在任意对象即可,调用包括、创建表、插入信息、查找信息、删除信息、更新信息。代码比较简单我就不一一注释了,这里我用try catch如果有错误信息将打印在屏幕中。 创建表包括是否递增ID,所以有两种创建表的方式。如果你的数据库是提前预制的话可以这样来读取数据库。

58 59 ?? ???? ?? ; ;; NewBehaviourScript:MonoBehaviour{ ? Error;Start {try { ? SqlAccess sql; ? sqlCreateTableAutoID"momo"{"id""name""qq""email""blog"}"int""text";//sql.CreateTable("momo",new string[]{"name","qq","email","blog"},new string[]{"text","text","text"}); InsertInto"289187120""xuanyusong@gmail.com""xuanyusong.com";"ruoruo""34546546""ruoruo@gmail.com"; ? ??SelectWhere"=""1"; ){ ? DataTable tableTables; ? foreachDataRow row intableRows) {?? DataColumn column Columns) ?? {rowcolumn; }} ? UpdateInto"'ruoruo'""'22222111'""'xuanyusong@gmail.com'"??; ? "'000@gmail.com'";; catch){ ;} ? } ? // Update is called once per frame OnGUI { ? ) {GUILayoutLabelError; } ? } 然后是用到的dll 一个都不能少,不然会出现各种问题。最后的下载地址我会给出,并且包含这些文件。

为了测试局域网的连接, 我还编译到了Android手机上,在Android上访问这个数据库,也是没问题的。当然手机和电脑用的是同一个wifi网络。 目前这个项目在 Windows 和 ?Android上都可以很好的运行,我感觉在Mac上和iPhone上应该也木有问题,欢迎大家测试,如果发现在别的平台下有问题请告诉我,我会进一步研究的。 欢迎大家留言,一起学习啦啦啦啦 嘿嘿嘿~~。。

下载地址:http://vdisk.weibo.com/s/B5ac9

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

http://www.3lian.com/edu/2014/02-27/131497.html

在编写代码之前需要:

  1.引入程序集System.Data.dll,位置在C:Program FilesUnityEditorDataMonolibmonounity(我unity默认装在C盘)。

  2.把System.Data.dll文件复制到当前Unity项目文件下,即Assets文件夹下就可以了。

  虽然在unity里面可以运行但是发布为web或者exe后还是连接不上,这就还需要另外三个dll文件I18N.dll,I18N.West.dll,I18N.CJK.dll ,这三个文件和System.data.dll 在同一个目录下,要把这个4个dll文件一起放在Assets文件下最后发布出来也可以连接上数据库了。

  public class ConnectionSqlserver : MonoBehaviour

  {

  void Start()

  //连接字符串

  SqlConnection connstr = new SqlConnection("Data Source=.;Initial Catalog=Exam;uid=sa;pwd=123");

  SqlCommand cmd = new SqlCommand();

  cmd.Connection = connstr;

  cmd.CommandType = System.Data.CommandType.Text;

  //设置sql连接语句

  cmd.CommandText = "select * from Users";

  SqlDataAdapter sda = new SqlDataAdapter(cmd);

  sda.SelectCommand.Connection.Open();

  string strtemp = sda.SelectCommand.ExecuteScalar().ToString();

  sda.SelectCommand.Connection.Close();

  print("连接数据库成功!" + strtemp);

  }

  }

Unity3D研究院之Unity中连接本地或局域网MySQL数据库(五十九)


http://www.xuanyusong.com/archives/2326/

?最近MOMO身心疲惫。。今天是周末在家无聊我还是决定来学习。不知道学什么,就学MySQL吧。本篇主要记录从MySQL安装到局域网内任意机器连接数据库,也算是对自己学习的总结。今天我没用Mac电脑,而是选择Windows,没有别有用心,而是想熟悉一下Windows下操作Unity。

官网上下载MySQL的安装程序,这里有一篇详细的安装文章,http://www.aspzz.cn/article/23876.htm??为了让中文完美的运行,配置MySQL的时候Character Set处设置成UTF-8,好像默认是不能显示中文。配置完毕后就可以在本机中启动MySQL,也可以在cmd命令行中start和stop 启动与关闭MySQL。

    推荐文章
      热点阅读