一、
C#编写的一个数据库管理类,适用MySQL、MariaDB。
Unity2017.3.1f1 && mariadb-10.0.12-winx64
二、
根据 http://www.w3school.com.cn/sql/index.asp 里面的语句编写增删改查四类方法。
(基本语句增删改查会写了->高级语句会写了->其他数据库语句会写了。 略略略)
三、
类结构:
- 打开/关闭数据库
- 创建表 (新建,不是覆写)
- 创建id自增表
- 插入一行部分值 (不适合id自增表)
- 插入一行所有值
- 删除一行
- 删除多行
- 删除所有行
- 改变一行某一列
- 改变一行某些列
- 查询某一列
- 查询某些列
- 查询所有列
- 执行SQL语句
四、
数据库管理类
using UnityEngine;
using MySql.Data.MySqlClient;
using System;
using System.Data;
public class SqlManager : MonoBehaviour {
#region -- 变量定义
public MySqlConnection sqlConnecter;//连接器
public string host = "127.0.0.1";//192.168.1.1 127.0.0.1 localhost
//与MySQL数据库对应
public string db = "test";
public string id = "root";
public string password = "root";
public string port = "3306";
#endregion
#region -- 自定义函数
/// <summary>
/// 打开数据库
/// </summary>
public void OpenSql() {
try {
string str = string.Format("Host={0};Database={1};User ID={2};Password={3};Port={4}", host, db, id, password, port);
sqlConnecter = new MySqlConnection(str);
sqlConnecter.Open();
} catch(Exception e) {
throw new Exception(e.Message.ToString());
}
}
/// <summary>
/// 关闭数据库
/// </summary>
public void CloseSql() {
if(sqlConnecter != null) {
sqlConnecter.Close();
sqlConnecter.Dispose();
sqlConnecter = null;
}
}
/// <summary>
/// 执行语句
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public DataSet ExcuteStatements(string str) {
if(sqlConnecter.State == ConnectionState.Open) {
DataSet dataSet = new DataSet();
try {
MySqlDataAdapter mySqlDataAdapter = new MySqlDataAdapter(str, sqlConnecter);
mySqlDataAdapter.Fill(dataSet);
} catch (Exception e) {
throw new Exception(e.Message.ToString());
} finally { }
return dataSet;
}
return n