1. 把下面这个代码放在项目文件里,无须拖拽到任何物体上。
using UnityEngine;
using System;
using System.Data;
using System.Collections;
using MySql.Data.MySqlClient;
using MySql.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
public class SqlAccess
{
public static MySqlConnection dbConnection;//数据库 //
public static MySqlConnection systemDbConnection;// 系统数据库 //
//如果只是在本地的话,写localhost就可以。//
// static string host = "localhost"; //
//如果是局域网,那么写上本机的局域网IP//
static string host = "127.0.0.1";
static string id = "root";
static string pwd = ""; // 不需要密码 //
static string database = "db"; // 数据库名字//
public SqlAccess()// 访问数据库 //
{
OpenSql();//打开数据库//
OpenSystem();//打开系统//
}
public static void OpenSystem()//打开系统 //
{
try
{
// 连接字符串 = 格式化 (服务器IP,数据 概要,ID,密码,接口)//
string connectionString = string.Format("Server = {0};port={4};Database = {1}; User ID = {2}; Password = {3};",host,"information_schema",id,pwd,"3306");
// 系统连接 = new 一个MYSQL的连接(连接字符串) //
systemDbConnection = new MySqlConnection(connectionString);
// 系统连接成功 //
systemDbConnection.Open();
}catch (Exception e)//抛出异常信息 //
{
throw new Exception("服务器连接失败,请重新检查是否打开MySql服务。" + e.Message.ToString());
}
}
public static void OpenSql()// 打开数据库 //
{
try
{
// 连接字符串 = 格式化 (服务器IP,数据库,ID,密码,接口)//
string connectionString = string.Format("Server = {0};port={4};Database = {1}; User ID = {2}; Password = {3};",host,database,id,pwd,"3306");
// 数据库连接 = new 一个MYSQL的连接(连接字符串) //
dbConnection = new MySqlConnection(connectionString);
// 数据库连接成功 //
dbConnection.Open();
}catch (Exception e)//抛出异常信息 //
{
throw new Exception("服务器连接失败,请重新检查是否打开MySql服务。" + e.Message.ToString());
}
}
//创建表- create table player() 需要的表头名字和变量 //
public DataSet CreateTable (string name, string[] col, string[] colType)
{
if (col.Length != colType.Length) // 如果俩数组不等的时候,抛出异常 //
{
throw new Exception ("columns.Length != colType.Length");
}
//字符串 = create table 名字 (表头名字 变量)//
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);// 执行查询(); //
}
// 创建表,ID自动增长自动缩减 create table player (表头名字 变量) //
public DataSet CreateTableAutoID (string name, string[] col, string[] colType)
{
if (col.Length != colType.Length) // 如果俩数组不等的时候,抛出异常 //
{
throw new Exception ("columns.Length != colType.Length");
}
//字符串 = create table 名字 (表头名字 变量.-------------------------变量不允许为空,自动增值) 第一个是主键 //
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)
{
// 字符串-查询 = insert into lihui.player values('values[0]','values[i]'); //
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.