using UnityEngine;

using System;

using System.Data;

using System.Collections;

using MySql.Data.MySqlClient;

using MySql.Data;

using System.IO;

public class SqlAccess

{

public static MySqlConnection dbConnection;

//如果只是在本地的话,写localhost就可以。

// static string host = "localhost";

//如果是局域网,那么写上本机的局域网IP

static string host = "192.168.1.106";

static string id = "root";

static string pwd = "1234";

static string database = "xuanyusong";

public SqlAccess()

{

OpenSql();

}

public static void OpenSql()

{

try

{

string connectionString = string.Format("Server = {0};port={4};Database = {1}; User ID = {2}; Password = {3};",host,database,id,pwd,"3306");

dbConnection = new MySqlConnection(connectionString);

dbConnection.Open();

}catch (Exception e)

{

throw new Exception("服务器连接失败,请重新检查是否打开MySql服务。" + e.Message.ToString());

}

}

public DataSet CreateTable (string name, string[] col, string[] colType)

{

if (col.Length != colType.Length)

{

throw new Exception ("columns.Length != colType.Length");

}

string query = "CREATE TABLE " + name + " (" + col[0] + " " + colType[0];

for (int i = 1; i < col.Length; ++i) {

query += ", " + col[i] + " " + colType[i];

}

query += ")";

return  ExecuteQuery(query);

}

public DataSet CreateTableAutoID (string name, string[] col, string[] colType)

{

if (col.Length != colType.Length)

{

throw new Exception ("columns.Length != colType.Length");

}

string query = "CREATE TABLE " + name + " (" + col[0] + " " + colType[0] +  " NOT NULL AUTO_INCREMENT";

for (int i = 1; i < col.Length; ++i) {

query += ", " + col[i] + " " + colType[i];

}

query += ", PRIMARY KEY ("+ col[0] +")" + ")";

Debug.Log(query);

return  ExecuteQuery(query);

}

//插入一条数据,包括所有,不适用自动累加ID。

public DataSet InsertInto (string tableName, string[] values)

{

string query = "INSERT INTO " + tableName + " VALUES (" + "'"+ values[0]+ "'";

for (int i = 1; i < values.Length; ++i) {

query += ", " + "'"+values[i]+ "'";

}

query += ")";

Debug.Log(query);

return ExecuteQuery (query);

}

//插入部分ID

public DataSet InsertInto (string tableName, string[] col,string[] values)

{

if (col.Length != values.Length)

{

throw new Exception ("columns.Length != colType.Length");

}

string query = "INSERT INTO " + tableName + " (" + col[0];

for (int i = 1; i < col.Length; ++i)

{

query += ", "+col[i];

}

query += ") VALUES (" + "'"+ values[0]+ "'";

for (int i = 1; i < values.Length; ++i)

{

query += ", " + "'"+values[i]+ "'";

}

query += ")";

Debug.Log(query);

return ExecuteQuery (query);

}

public DataSet SelectWhere (string tableName, string[] items, string[] col, string[] operation, string[] values)

{

if (col.Length != operation.Length || operation.Length != values.Length) {

throw new Exception ("col.Length != operation.Length != values.Length");

}

string query = "SELECT " + items[0];

for (int i = 1; i < items.Length; ++i) {

query += ", " + items[i];

}

query += " FROM " + tableName + " WHERE " + col[0] + operation[0] + "'" + values[0] + "' ";

for (int i = 1; i < col.Length; ++i) {

query += " AND " + col[i] + operation[i] + "'" + values[0] + "' ";

}

return ExecuteQuery (query);

}

public DataSet UpdateInto (string tableName, string []cols,string []colsvalues,string selectkey,string selectvalue)

{

string query = "UPDATE "+tableName+" SET "+cols[0]+" = "+colsvalues[0];

for (int i = 1; i < colsvalues.Length; ++i) {

query += ", " +cols[i]+" ="+ colsvalues[i];

}

query += " WHERE "+selectkey+" = "+selectvalue+" ";

return ExecuteQuery (query);

}

public DataSet Delete(string tableName,string []cols,string []colsvalues)

{

string query = "DELETE FROM "+tableName + " WHERE " +cols[0] +" = " + colsvalues[0];

for (int i = 1; i < colsvalues.Length; ++i)

{

query += " or " +cols[i]+" = "+ colsvalues[i];

}

Debug.Log(query);

return ExecuteQuery (query);

}

public  void Close()

{

if(dbConnection != null)

{

dbConnection.Close();

dbConnection.Dispose();

dbConnection = null;

}

}

public static DataSet ExecuteQuery(string sqlString)

{

if(dbConnection.State==ConnectionState.Open)

{

DataSet ds = new DataSet();

try

{

MySqlDataAdapter da = new MySqlDataAdapter(sqlString, dbConnection);

da.Fill(ds);

}

catch (Exception ee)

{

throw new Exception("SQL:" + sqlString + "/n" + ee.Message.ToString());

}

finally

{

}

return ds;

}

return null;

}

}

mysql雨凇_Unity3D研究院之Unity中连接本地或局域网MySQL数据库(五十九) | 雨松MOMO程序研究院...相关推荐

  1. Unity3D研究院之Unity中连接本地或局域网MySQL数据库

    用户名 Email 游戏蛮牛 手机端 开启辅助访问 腾讯QQ 立即注册 登录 用户名 自动登录  找回密码 密码 登录  注册帐号 [Unity5.X版本开始预售啦!] 扫一扫,访问微社区 </ ...

  2. ngui 教程一 转载自:雨松MOMO程序研究院

    NGUI研究院之开始学习制作第一个例子(一) NGUI研究院之开始学习制作第一个例子(一) 原创文章如转载,请注明:转载自雨松MOMO程序研究院 本文链接地址:NGUI研究院之开始学习制作第一个例子( ...

  3. 雨松MOMO《Unity 3D游戏开发》源码公布

    原创文章如需转载请注明:转载自雨松MOMO程序研究院 本文链接地址:雨松MOMO<Unity 3D游戏开发>源码公布 下载源码时,首先大家请登陆图灵社区找到<Unity 3D游戏开发 ...

  4. Unity中创建本地多人游戏完整案例视频教程 Learn To Create A Local Multiplayer Game In Unity

    Unity中创建本地多人游戏完整案例视频教程 Learn To Create A Local Multiplayer Game In Unity MP4 |视频:h264,1280x720 |音频:A ...

  5. mysql 常用优化方案_项目中常用的 19 条 MySQL 优化方案

    声明一下:下面的优化方案都是基于 " Mysql-索引-BTree类型 " 的 一.EXPLAIN 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划. 下面来个简单 ...

  6. mysql漏洞包_MySQL npm包中的本地文件泄露漏洞

    "A pure node.js javascript Client implementing the MySQL protocol." 漏洞 在某次安全评估中,Synacktiv专 ...

  7. mysql root用户可以同时几个人连接_PHP安全:MySQL的使用安全

    一次性付费进群,长期免费索取资料. 进微信群回复公众号:微信群:QQ群:460500587  教程列表 见微信公众号底部菜单 |  本文底部有推荐书籍  微信公众号:计算机与网络安全 ID:Compu ...

  8. mysql in过大_项目中常用的 19 条 MySQL 优化

    本文原载于 SegmentFault 社区 作者:zhangqh 整理编辑:SegmentFault 在写文章之前,首先感谢飞友科技陆老师提供的文档. 声明一下:下面的优化方案都是基于 " ...

  9. Navicat连接本地虚拟机的Mysql(Centos7)

    使用Navicat连接本地虚拟机Mysql 所需软件: VMware Workstation(虚拟机软件) Navicat Premium 12(远程链接虚拟机工具) 网络连接模式:NAT 模式 1. ...

最新文章

  1. CentOS 4.6 中 yum 的使用
  2. 建立索引常用的规则如下
  3. 淮阴工学院计算机期末考选择题题库,淮阴工学院计算机导论题库.doc
  4. 【编程题目】求二叉树中节点的最大距离
  5. small2java_java类
  6. 【重点】Java大厂面试10个知识点汇总
  7. 解决spring和struts配合问题
  8. linux上ftp和lftp冲突,Linux FTP客户端 Lftp 使用方法,该如何解决
  9. 《MySQL技术内幕(SQL编程)》——数据类型
  10. c++标准程序库:STL容器之vector
  11. 表达式求值(栈方法/C++语言描述)(一)
  12. 在Apache环境下成功的运行ASP.NET
  13. 使用excel2016 制作甘特图
  14. mysql数据库位置_mysql数据库的存放位置在哪里
  15. PIBOT移植ROS2记录(2)-添加Node与cmd_vel
  16. 嵌入式系统课堂总结1
  17. Win系统 - BIOS设置中找不到U盘选项该怎么办?
  18. 自动测试如何选择自动化测试框架_机器擅长回归测试,人类善于寻找Bug _Pekka Klärck
  19. c语言如何实现1-n全排列,全排列思路解析附C语言实现
  20. ubuntu 搭建NFS

热门文章

  1. matlab中的方波信号图片_电气信息类专业课程之matlab系统仿真 第十章 DBPSK调制解调器(9)...
  2. python为什么找不到csv文件_python读写csv文件的方法(还没试,先记录一下)
  3. 【控制】《多无人机协同控制技术》周伟老师-第8章-危险状态下的无人机编队运动控制策略
  4. 4.2 One-Shot 学习-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  5. 8.7 程序示例--异常检测-机器学习笔记-斯坦福吴恩达教授
  6. 【DIY】玩转VFD荧光屏,自制VFD时钟全资料(原理图+源码+PCB)
  7. 真实实验测试多少节电池可以点亮白炽灯泡!
  8. 【PC工具】Windows10开始菜单增强工具Stardock Start10
  9. 关于带资源部门的一些总结
  10. linux svn强制注释,svn强制提交时添加注释