1. 在Unity新建一个场景,保存并命名为Unity_MySQL。

  2. 新建一个C#Script,命名为CMySql.cs。

  3. 下面是CMySql.cs脚本的内容:

    [csharp]view plaincopy
    1. usingUnityEngine;
    2. usingSystem;
    3. usingSystem.Collections;
    4. usingSystem.Data;
    5. usingMySql.Data.MySqlClient;
    6. publicclassCMySql:MonoBehaviour{
    7. publicstaticMySqlConnectiondbConnection;//JustlikeMyConn.conninStoryToolsbefore
    8. staticstringhost="127.0.0.1";
    9. staticstringid="root";//***不要变***
    10. staticstringpwd="zym123";//密码
    11. staticstringdatabase="unity";//数据库
    12. staticstringresult="";
    13. privatestringstrCommand="SelectIDfromunity;";
    14. publicstaticDataSetMyObj;
    15. voidOnGUI()
    16. {
    17. host=GUILayout.TextField(host,200,GUILayout.Width(200));
    18. id=GUILayout.TextField(id,200,GUILayout.Width(200));
    19. pwd=GUILayout.TextField(pwd,200,GUILayout.Width(200));
    20. if(GUILayout.Button("Test"))
    21. {
    22. stringconnectionString=string.Format("Server={0};Database={1};UserID={2};Password={3};",host,database,id,pwd);
    23. openSqlConnection(connectionString);
    24. MyObj=GetDataSet(strCommand);
    25. //读取数据函数
    26. ReaderData();
    27. }
    28. GUILayout.Label(result);
    29. }
    30. //Onquit
    31. publicstaticvoidOnApplicationQuit()
    32. {
    33. closeSqlConnection();
    34. }
    35. //Connecttodatabase
    36. privatestaticvoidopenSqlConnection(stringconnectionString)
    37. {
    38. dbConnection=newMySqlConnection(connectionString);
    39. dbConnection.Open();
    40. result=dbConnection.ServerVersion;//获得MySql的版本
    41. }
    42. //Disconnectfromdatabase
    43. privatestaticvoidcloseSqlConnection()
    44. {
    45. dbConnection.Close();
    46. dbConnection=null;
    47. }
    48. //MySQLQuery
    49. publicstaticvoiddoQuery(stringsqlQuery)
    50. {
    51. IDbCommanddbCommand=dbConnection.CreateCommand();
    52. dbCommand.CommandText=sqlQuery;
    53. IDataReaderreader=dbCommand.ExecuteReader();
    54. reader.Close();
    55. reader=null;
    56. dbCommand.Dispose();
    57. dbCommand=null;
    58. }
    59. #regionGetDataSet
    60. publicDataSetGetDataSet(stringsqlString)
    61. {
    62. DataSetds=newDataSet();
    63. try
    64. {
    65. MySqlDataAdapterda=newMySqlDataAdapter(sqlString,dbConnection);
    66. da.Fill(ds);
    67. }
    68. catch(Exceptionee)
    69. {
    70. thrownewException("SQL:"+sqlString+"\n"+ee.Message.ToString());
    71. }
    72. returnds;
    73. }
    74. #endregion
    75. //读取数据函数
    76. voidReaderData()
    77. {
    78. MySqlCommandmySqlCommand=newMySqlCommand("Select*fromunity;",dbConnection);
    79. MySqlDataReaderreader=mySqlCommand.ExecuteReader();
    80. try
    81. {
    82. while(reader.Read())
    83. {
    84. if(reader.HasRows)
    85. {
    86. print("ID:"+reader.GetInt32(0)+"--Name:"+reader.GetString(1)+"--Sex:"+reader.GetString(2));
    87. }
    88. }
    89. }
    90. catch(Exception)
    91. {
    92. Console.WriteLine("查询失败了!");
    93. }
    94. finally
    95. {
    96. reader.Close();
    97. }
    98. }
    99. }
  4. 这个脚本中引用了System.Data.DLL,System.Drawing.DLL和MySql.Data.DLL。其中前两个可以在Unity3D的安装目录下找到:X:\Unity3D\Editor\Data\Mono\lib\mono\2.0\,最后一个MySql.Data.DLL可以从网上下载。将这3个DLL文件放到该项目的Assets文件夹下。

  5. 启动MySQL。

  6. 创建一个数据库,命名为unity,并在其中新建一张表,也命名为unity。

  7. 在表中随便添加几条记录。

  8. 在Unity中将CMySql脚本拖放到Main Camera上去。

  9. 点击运行按钮。

  10. 点击Test按钮。

  11. 在Game窗口可以看到数据库内unity表的几条记录和MySql的版本。

更多相关文章

  1. 线程往数据库里插数据时偶尔会报错
  2. 通过SQL语句访问远程数据库
  3. [SQL Server] 数据库日志文件自动增长导致连接超时的分析
  4. JSP连接Mysql的数据库连接池配置相关
  5. sql2005 数据库连接的时候,无法连接外部服务器
  6. sqlloader导出数据和导入数据
  7. oracle数据库中sql语言创建表,更新,删除数据
  8. Access查找数据的SQL语句中,LIKE后面不可以用ESCAPE吗?
  9. 将变量(表名,数据)传递给python mysqld查询

随机推荐

  1. Android(安卓)Content Provider 测试
  2. 【Android】关于序列化分析的一些好文分
  3. Android(安卓)MVC,MVP和MVVM架构模式的探
  4. 导入android SlidingMenu 应用
  5. Media Player of Android
  6. 线性布局和相对布局的知识点
  7. Android Permission denied(
  8. android Button实现水波纹效果
  9. android视频处理相关资料
  10. Android(安卓)面试 指南:互联网大厂需要怎