栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

Unity使用Mysql(添/删/改/查)(保姆级)

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unity使用Mysql(添/删/改/查)(保姆级)

Unity使用Mysql添/删/改/查/保姆级
  • UnityDemo版本
    • Mysql下载地址教程
    • Navicat可视化窗口下载教程
    • 使用Navicat可视化窗口
    • Mysql.data.dll下载地址
    • 本次Demo下载地址
    • 使用数据库添/删/改/查
      • 插入数据库方法
      • 更改数据方法
        • 更改数据第二种方式
      • 删除数据方法
      • 数据库查询方法
    • 问题解决方案
      • 如果Mysql安装时出现问题

UnityDemo版本
    Unity版本:2020.3.25;
    Visual Studio版本: 2019;MySql.Data.dll版本:5.2.3
    MySql版本:5.7.35
Mysql下载地址教程

Mysql下载地址
https://downloads.mysql.com/archives/community/



下载完成后解压到任意盘即可(楼主我选择的是D盘)
点击查看

勾选文件扩展名

右键新建文本文档 修改名称My.ini

修改后

打开my.ini 把以下文本复制到里面去 设置basedir(你的安装目录)
和datadir(数据库存放路径 注意:定义路径一定要有data文件夹)

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录   ----------是你的文件路径-------------
basedir=D:mysql-5.7.35-winx64
# 设置mysql数据库的数据的存放目录  ---------是你的文件路径data文件夹自行创建
datadir=D:MysqlDatadata
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

按下Win+R 输入cmd 然后回车

右键点击命令提示符 左键点击以管理员运行

先输入D: 回车
然后输入 cd 解压出来bin文件路径

然后在控制台输入指令

mysqld --install


如上图代表成功

接下来在控制台输入命令

mysqld --initialize --console


输入后稍等一会,才会显示随机出来密码

记下你随机出来密码 楼主随机出来密码是 VPWuVnRro3:)

输入以下指令启动Mysql服务器

net start mysql


如上图表示成功

登录Mysql服务器输入

mysql -u root -p


上图输入你的随机密码
楼主随机出来密码是 VPWuVnRro3:)

如上图显示就成功了

登录成功可以修改密码为123456
输入指令

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';


如上图成功

安装完成在控制台 输入quit和exit 退出

exit


接下来进行环境搭配
此电脑右键->属性->高级系统设置


新建系统变量


变量名为:MYSQL_HOME
变量值为你的MySQL安装路径
点击确定

找到path进行编辑

新建环境变量
变量为:%MYSQL_HOME%bin

%MYSQL_HOME%bin


在桌面找到此电脑右键此电脑->管理->服务与应用程序->服务

找到mysql->右键属性
将启动类型改为手动(防止开机速度变慢)

以上操作已经完成Mysql环境搭建
每次开机以管理员身份打开控制台输入命令

net start mysql

Navicat可视化窗口下载教程

下载地址
提取码: qy8s
https://pan.baidu.com/s/1lfDOAQKvI-BbxY9HkW-6ow
提取码: qy8s

安装教程







使用Navicat可视化窗口

点击连接


在点击mysql 最后弹出以下窗口

点击高级 自定义设置位置

然后点击确定

连接成功如下图

打开数据库出现以下界面



最后点击保存 弹出以下图

Mysql.data.dll下载地址

下载地址
提取码: wr2g
https://pan.baidu.com/s/182GAyocQS3I_3PiFn99JAw
提取码: wr2g

本次Demo下载地址

网盘下载地址
提取码: rqhh

https://pan.baidu.com/s/1kwaCyl5kbFSPNVQahAofbg?pwd=rqhh
提取码: rqhh

资源下载
https://download.csdn.net/download/qq_43333567/84428000

下载好后直接把资源包直接放进Assets文件中 运行如下环境配置成功

如果下载地址丢失请看下面

1:导入Unity安装目录下的必要程序集、I18N.CJK、I18N、I18N.West;(因为2020版的Unity默认加载了System.Data.dll,System.Drawing.dll,所以不用再次导入)安装目录路劲为:EditorDataMonoBleedingEdgelibmonounityjit
(注意一定是这个目录下的几个程序集,其他的尝试后无效并且报错)

在Unity Assets 新建Plugins文件 把这三个文件夹 放到里面去 最后在把Mysql.data.dll 也放进去图下

本项目脚本 SqlHelper

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using MySql.Data.MySqlClient;
using UnityEngine;
/// 
/// Mysql添/删/改/查/框架   切记使用该类方法 除了(Connect方法)其他方法 先调用Open() 使用完后 在Close()掉
/// 
public class SqlHelper
{
    string _server, _port, _user, _password, _datename, _format;
    string connectStr;
    MySqlConnection conn;
    /// 
    /// 连接数据库构造方法
    /// 
    /// IP地址
    /// 端口
    /// 用户名
    /// 密码
    /// 数据库名称
    /// 字体默认utf8
    public SqlHelper(string host, string port, string user, string passwd, string database, string format = "utf8")
    {
        Connect(host,port,user,passwd,database,format);
    }  
    /// 
    /// 连接数据库
    /// 
    /// IP地址
    /// 端口
    /// 用户名
    /// 密码
    /// 数据库名称
    /// 字体默认utf8
    public void Connect(string host, string port, string user, string passwd, string database, string format = "utf8")
    {
        _server = host;
        _port = port; _user = user;
        _password = passwd;
        _datename = database;
        _format = format;
        connectStr = string.Format("server={0};port={1};user={2};password={3}; database={4};charset={5}", _server, _port, _user, _password, _datename, _format);//设置连接ip,端口,用户名,密码,以及编码格式    
        conn = new MySqlConnection(connectStr);//创建连接类
    }

    /// 
    /// 打开数据库连接
    /// 
    public void Open()
    {    
        conn.Open();//正式打开连接 
    }
    /// 
    /// 关闭数据库连接
    /// 
    public void Close()
    {
        conn.Close();//关闭连接
    }

    #region 查询语句
    /// 
    /// 查询指定字段
    /// 
    /// 
    /// 
    /// 
    public DataSet Select(string tableName, string[] items)
    {
        string query = "SELECT " + items[0];
        for (int i = 1; i < items.Length; ++i)
        {
            query += ", " + items[i];
        }
        query += " FROM " + tableName;
        Debug.LogFormat("query: {0}", query);
        return ExecuteQuery(query);
    }
    /// 
    /// 查询所有字段
    /// 
    /// 表名
    /// 
    public DataSet Select(string tableName)
    {
        string query = "SELECT * FROM " + tableName;
        return ExecuteQuery(query);
    }
    /// 
    /// 查询指定字段数据中满足条件的
    /// DataSet内存中的数据库,DataSet是不依赖于数据库的独立数据集合,是一种不包含表头的纯数据文件
    /// 有条件的查询,查询在users这个表当中,只需要字段名为userAccount,userPwd,userName,ID这几个字段对应的数据,
    /// 满足条件为 userAccount对应的value=account, userPwd对应的value=md5Password;
    /// ("users", new string[] { "userAccount", "userPwd", "userName", "ID" }, new string[] { "userAccount", "userPwd" }, new string[] { "=", "=" }, new string[] { account, md5Password });
    /// 
    /// 表名
    /// 查询字段名
    /// 判断字段名
    /// 条件运算符
    /// 满足的条件值
    /// 
    public DataSet SelectWhere(string tableName, string[] items, string[] cols, string[] operations, string[] values)
    {
        if (cols.Length != operations.Length || operations.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 " + cols[0] + operations[0] + "'" + values[0] + "' ";

        for (int i = 1; i < cols.Length; ++i)
        {
            query += " AND " + cols[i] + operations[i] + "'" + values[i] + "' ";
        }
        Debug.LogFormat("query: {0}", query);
        return ExecuteQuery(query);
    }
   
    /// 
    /// 执行查询语句,返回DataSet
    /// 
    /// 查询语句
    /// DataSet
    public DataSet ExecuteQuery(string SQLString)
    {
        DataSet ds = new DataSet();
        try
        {
            MySqlDataAdapter da = new MySqlDataAdapter(SQLString, conn);
            da.Fill(ds);
        }
        catch (MySqlException ex)
        {
            throw new Exception(ex.Message);
        }
        return ds;
    }
    #endregion

    #region 更新语句
    /// 
    /// 当指定字段满足一定条件时,更新指定字段的数据
    /// 例如更新在user这个表中字段名为userAccount的值等于10086时,将对应userPwd字段的值改成newMd5SumPassword
    /// ("users", new string[] { "userPwd" }, new string[] { newMd5SumPassword }, "userAccount", "10086")
    /// 
    /// 表名
    /// 字段
    /// 字段值
    /// 指定的字段
    /// 指定字段满足的条件
    /// 
    public int UpdateInto(string tableName, string[] cols, string[] colsValues, string[] selectKeys, string[] selectValues)
    {
        string query = "UPDATE " + tableName + " SET " + cols[0] + " = " + "'" + colsValues[0] + "'";

        for (int i = 1; i < colsValues.Length; ++i)
        {
            query += ", " + cols[i] + " =" + "'" + colsValues[i] + "'";
        }

        query += " WHERe " + selectKeys[0] + " = " + "'" + selectValues[0] + "' ";
        for (int i = 1; i < selectKeys.Length; ++i)
        {
            query += " AND " + selectKeys[i] + " = " + "'" + selectValues[i] + "' ";
        }
        Debug.LogFormat("query: {0}", query);
        return ExecuteNonQuery(query);
    }
    /// 
    /// 当指定字段满足一定条件时,更新指定字段的数据
    /// 例如更新在user这个表中字段名为userAccount的值等于10086时,将对应userPwd字段的值改成newMd5SumPassword
    /// ("users", new string[] { "userPwd" }, new string[] { newMd5SumPassword }, "userAccount", "10086")
    /// 
    /// 表名
    /// 字段
    /// 字段值
    /// 指定的字段
    /// 指定字段满足的条件
    /// 
    public int UpdateInto(string tableName, string[] cols, T[] colsValues, string[] selectKeys, string[] selectValues) where T : struct
    {
        string query = "UPDATE " + tableName + " SET " + cols[0] + " = " + colsValues[0];

        for (int i = 1; i < colsValues.Length; ++i)
        {
            query += ", " + cols[i] + " =" + colsValues[i];
        }

        query += " WHERe " + selectKeys[0] + " = " + "'" + selectValues[0] + "' ";
        for (int i = 1; i < selectKeys.Length; ++i)
        {
            query += " AND " + selectKeys[i] + " = " + "'" + selectValues[i] + "' ";
        }
        Debug.LogFormat("query: {0}", query);
        return ExecuteNonQuery(query);
    }
    /// 
    /// 当指定字段满足一定条件时,更新指定字段的数据
    /// 例如更新在user这个表中字段名为userAccount的值等于10086时,将对应userPwd字段的值改成newMd5SumPassword
    /// ("users", new string[] { "userPwd" }, new string[] { newMd5SumPassword }, "userAccount", "10086")
    /// 
    /// 表名
    /// 字段
    /// 字段值
    /// 指定的字段
    /// 指定字段满足的条件
    /// 
    public int UpdateInto(string tableName, string[] cols, object[] colsValues, string[] selectKeys, string[] selectValues)
    {
        string query = null;
        if (colsValues[0] is string || colsValues[0] is char)
        {
            query = "UPDATE " + tableName + " SET " + cols[0] + " = " + string.Format("'{0}'", colsValues[0]);
        }
        else
        {
            query = "UPDATE " + tableName + " SET " + cols[0] + " = " + colsValues[0];
        }
        for (int i = 1; i < colsValues.Length; ++i)
        {
            if (colsValues[i] is string || colsValues[i] is char)
            {
                query += ", " + cols[i] + " =" + string.Format("'{0}'", colsValues[i]);
            }
            else
            {
                query += ", " + cols[i] + " =" + colsValues[i];
            }
        }

        query += " WHERe " + selectKeys[0] + " = " + "'" + selectValues[0] + "' ";
        for (int i = 1; i < selectKeys.Length; ++i)
        {
            query += " AND " + selectKeys[i] + " = " + "'" + selectValues[i] + "' ";
        }
        Debug.LogFormat("query: {0}", query);
        return ExecuteNonQuery(query);
    }
    #endregion

    #region 插入语句
    /// 
    /// 插入部分ID
    /// 
    /// 表名
    /// 字段名
    /// 具体数值
    /// 
    public int InsertInto(string tableName, string[] cols, string[] values)
    {
        if (cols.Length != values.Length)
        {
            throw new Exception("columns.Length != colType.Length");
        }

        string query = "INSERT INTO " + tableName + " (" + cols[0];
        for (int i = 1; i < cols.Length; ++i)
        {
            query += ", " + cols[i];
        }

        query += ") VALUES (" + "'" + values[0] + "'";
        for (int i = 1; i < values.Length; ++i)
        {
            query += ", " + "'" + values[i] + "'";
        }

        query += ")";
        Debug.LogFormat("query: {0}", query);
        return ExecuteNonQuery(query);
    }
    #endregion

    #region 删除语句
    /// 
    /// 删除
    /// 
    /// 表名
    /// 字段
    /// 字段值
    /// 
    public int 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 += " and " + cols[i] + " = " + "'" + colsValues[i] + "'";
        }
        Debug.LogFormat("query: {0}", query);
        return ExecuteNonQuery(query);
    }
    #endregion
   
    
    /// 
    /// 执行SQL语句,返回影响的记录数。用于Update、Insert和Delete
    /// 
    /// SQL语句
    /// 影响的记录数
    public int ExecuteNonQuery(string SQLString)
    {

        using (MySqlCommand cmd = new MySqlCommand(SQLString, conn))
        {
            try
            {
                int rows = cmd.ExecuteNonQuery();
                return rows;
            }
            catch (MySqlException E)
            {
                throw new Exception(E.Message);
            }
            finally
            {
                cmd.Dispose();
            }
        }

    }
     
}

本项目脚本 mysqlTools工具类

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Data;

/// 
/// mysql工具类
/// 
public class MysqlTools 
{
    /// 
    /// 初始化对象
    /// 
    public static MysqlTools Instance { get; }
    static MysqlTools()
    {
        //当静态调用属性(Instance),初始化对象。
        Instance = new MysqlTools();
    }
    /// 
    /// 获取表中数据 字典中第一个键是字段名  第二个是 对应字段值 返回字典数组
    /// 
    /// 数据表类
    /// 
    public Dictionary[] TableData(DataSet ds)
    {
        //声明集合
        List> tableList = new List>();
        //遍历DataSet表条数
        for (int i = 0; i < ds.Tables.Count; i++)
        {
            //遍历表该条字段数量
            for (int j = 0; j < ds.Tables[i].Rows.Count; j++)
            {
                //根据该条数 并新建一块字典空间存储到该字典中
                tableList.Add(new Dictionary());
                //存储该条数类对象
                var temp = ds.Tables[i];
                //获取该条所有字段值
                var obj = temp.Rows[j].ItemArray;
                //遍历所有字段数组
                for (int k = 0; k < obj.Length; k++)
                {
                    //获取该字段名称
                    string tableName = temp.Columns[k].ToString();
                    //根据字段名称 和对应字段值存储到字段中
                    tableList[j].Add(tableName, obj[k]);
                }             
            }
        }
        //判断集合是否存储空间 如果空间为0 返回null 否则返回字典数组
        return tableList.Count == 0 ? null : tableList.ToArray();
    }
    /// 
    /// 获取单个数据
    /// 
    /// 数据表类
    /// 字段名称
    /// 
    public object GetValue(DataSet ds,string Name)
    {
        //遍历DataSet表条数
        for (int i = 0; i < ds.Tables.Count; i++)
        {
            //遍历表该条字段数量
            for (int j = 0; j < ds.Tables[i].Rows.Count; j++)
            {
                //存储该条数类对象
                var temp = ds.Tables[i];
                //获取该条所有字段值
                var obj = temp.Rows[j].ItemArray;
                //遍历所有字段数组
                for (int k = 0; k < obj.Length; k++)
                {
                    //获取该字段名称
                    string tableName = temp.Columns[k].ToString();
                    //判断该字段名称是否等于Name
                    if(tableName == Name)
                    {
                        //返回数据
                        return obj[k];
                    }
                }
            }
        }
        //返回null
        return null;
    }
    /// 
    /// 获取多个数据
    /// 
    /// 
    public object[] GetValues(DataSet ds, string Name)
    {
        //声明字段集合
        List list = new List();
        //遍历DataSet表条数
        for (int i = 0; i < ds.Tables.Count; i++)
        {
            //遍历表该条字段数量
            for (int j = 0; j < ds.Tables[i].Rows.Count; j++)
            {
                //存储该条数类对象
                var temp = ds.Tables[i];
                //获取该条所有字段值
                var obj = temp.Rows[j].ItemArray;
                //遍历所有字段数组
                for (int k = 0; k < obj.Length; k++)
                {
                    //获取该字段名称
                    string tableName = temp.Columns[k].ToString();
                    //判断该字段名称是否等于Name
                    if (tableName == Name)
                    {
                        //存储到集合中
                        list.Add(obj[k]);
                    }
                }
            }
        }
        //判断集合是否存储空间 如果空间为0 返回null 否则返回数组
        return list.Count == 0 ? null : list.ToArray();
    }
}

 

本项目脚本Test

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour
{

    void Start()
    {
        //创建数据库类                 IP地址       端口    用户名   密码     数据库项目名称
        var mySqlTools = new SqlHelper("127.0.0.1", "3306", "root", "123456", "user");
        //打开数据库
        mySqlTools.Open();
        //查询方法
        FindMysql(mySqlTools, "userdata", new[] { "UID", "User", "Password" });

        //  插入方法                表名         字段名                             插入数据
        // mySqlTools.InsertInto("userdata", new[] { "UID", "User", "Password" },new[] {"水神","ddxj1","123456" });

        //  更新方法             表名         更新字段名             更新数据     查询条件字段      条件成立字段
        //mySqlTools.UpdateInto("userdata",new[] {"Password" },new[] {"456789" },new[] { "User"},new[] { "ddxj1"});

        //  删除方法          表名          删除字段        删除数据         
        // mySqlTools.Delete("userdata", new[] { "User" }, new[] { "ddxj1" });

        // 从SqlHelper查询出来数据库 都会返回Dataset       DataSet类                  字段名
        //       返回对象object          获取数据方法    
        //var GetValues = MysqlTools.Instance.GetValue(mySqlTools.Select("userdata"), "User");
        //print(GetValues);

        //查询方法              表名        查询字段名       判断字段名       判断符号        条件成立数据
        // var ds = mySqlTools.SelectWhere("userdata", new[] { "UID" }, new[] { "User" }, new[] { "=" }, new[] { "imdork" });

        //SelectWhere方法会返回Dataset类对象, 声明ds变量接收如上图
        //MysqlTools 工具类使用GetValue方法负责接收DataSet对象 给字段名称返回对应数据
        //调用MysqlTools 工具类                 Dataset类对象  查询字段
        // object values = MysqlTools.Instance.GetValue(ds, "UID");
        // print(values); //最后打印15924

        //数据库更新第二种使用方法
        //(Ints字段在数据库为int)  (Strings 字段在数据库为text)
        //                      表名       更新字段名(string)          更新数据(object)                查询条件字段        条件成立字段
        //mySqlTools.UpdateInto("data1", new[] { "Ints", "Strings" }, new object[] { 12369, "密码" }, new[] { "Strings" }, new[] { "宝宝" });
        //mySqlTools.UpdateInto("data1", new[] { "Ints", "Strings" }, new object[] { 555, "账号" }, new[] { "Ints" }, new[] { "12369" });


        //关闭数据库
        mySqlTools.Close();

        
    }

    /// 
    /// 查询表中数据   记得先调用Open()方法  用完此方法后直接Close()
    /// 
    /// Mysql框架类
    /// 表名
    /// 字段名称
    void FindMysql(SqlHelper mySqlTools,string tableName,string[] items)
    {
        var ds = mySqlTools.Select(tableName, items);
        var pairs = MysqlTools.Instance.TableData(ds);
        DebugMysql(pairs);      
    }
    /// 
    /// 打印查询数据库
    /// 
    /// 
    private void DebugMysql(Dictionary[] pairs)
    {
        for (int i = 0; i < pairs.Length; i++)
        {
            foreach (var table in pairs[i])
            {
                string tableList = string.Format("第{0}行,表字段名对应数据是 {1}", i + 1, table);
                print(tableList);
            }
        }  
    }
}

使用数据库添/删/改/查

切记使用SqlHelper所有方法除了Connent方法外 其他方法一定要先Open(),使用完后在Close() 掉

插入数据库方法
  //创建数据库类                  IP地址        端口    用户名   密码    数据库项目名称
  var mySqlTools = new SqlHelper("127.0.0.1", "3306", "root", "123456", "user");
  //打开数据库
  mySqlTools.Open();
  //插入方法               表名                    字段名                             插入数据
  mySqlTools.InsertInto("userdata", new[] { "UID", "User", "Password" },new[] {"水神","ddxj1","123456" });
  //关闭数据库
  mySqlTools.Close();

运行后如下图

更改数据方法
 //创建数据库类                   IP地址       端口    用户名   密码     数据库项目名称
 var mySqlTools = new SqlHelper("127.0.0.1", "3306", "root", "123456", "user");
 //打开数据库
 mySqlTools.Open();
 //更新方法                表名         更新字段名             更新数据      查询条件字段       条件成立字段
 mySqlTools.UpdateInto("userdata",new[] {"Password" },new[] {"456789" },new[] { "User"},new[] { "ddxj1"});
 //关闭数据库
 mySqlTools.Close();

运行结果于下图

更改数据第二种方式

(Ints字段在数据库为int) (Strings 字段在数据库为text)


需求:查找数据库Ints字段为12369 更新对应表(Ints=555和Strings=账号)

注意:Ints是值类型 更改数据应该写555 不要写"555"
执行下面代码后

 //创建数据库类                   IP地址       端口    用户名   密码     数据库项目名称
 var mySqlTools = new SqlHelper("127.0.0.1", "3306", "root", "123456", "user");
 //打开数据库
 mySqlTools.Open();
 //数据库更新第二种使用方法
 //(Ints字段在数据库为int)  (Strings 字段在数据库为text)
 //                      表名       更新字段名(string)          更新数据(object)                查询条件字段        条件成立字段
 mySqlTools.UpdateInto("data1", new[] { "Ints", "Strings" }, new object[] { 555, "账号" }, new[] { "Ints" }, new[] { "12369" });
 //关闭数据库
 mySqlTools.Close();

删除数据方法
 //创建数据库类                    IP地址       端口    用户名   密码   数据库项目名称
 var mySqlTools = new SqlHelper("127.0.0.1", "3306", "root", "123456", "user");
 //打开数据库
 mySqlTools.Open();
 //删除方法            表名          删除字段        删除数据         
 mySqlTools.Delete("userdata", new[] { "User" }, new[] { "ddxj1" });
 //关闭数据库
 mySqlTools.Close();

代码运行结果如下

数据库查询方法

需求:查询表中User 为imdork 对应UID 对应数据

SelectWhere方法会返回Dataset类对象
MysqlTools 类的GetValue方法负责接收DataSet对象 传递字段名称返回对应数据
代码如下:

 //创建数据库类                   IP地址       端口    用户名   密码    数据库项目名称
 var mySqlTools = new SqlHelper("127.0.0.1", "3306", "root", "123456", "user");
 //打开数据库
 mySqlTools.Open();
 //查询方法                          表名        查询字段名        判断字段名       判断符号        条件成立数据
 var ds = mySqlTools.SelectWhere("userdata", new[] { "UID" }, new[] { "User" }, new[] { "=" }, new[] { "imdork" });

 //SelectWhere方法会返回Dataset类对象, 声明ds变量接收如上图
 //                                 方法第一个参数   方法第二个参数
 //调用MysqlTools 工具类             Dataset类对象  查询字段
 object values = MysqlTools.Instance.GetValue(ds, "UID");
 print(values); //最后打印15924
 //关闭数据库
 mySqlTools.Close();

最后控制台打印:

问题解决方案

注:如果跟着楼上步骤没有任何问题,下面就不用跟着做了。

如果Mysql安装时出现问题

因为你安装了其他Mysql版本没有删除干净。
解决问题办法:
如果在控制台输入以下指令出现问题

 mysqld --install

如果显示The service already exists!

解决办法 先以管理员打开控制台 输入

sc query mysql

如上图 如果发现有则输入

sc delete mysql


如上图表示删除成功

然后在控制台输入指令

sc query mysql

Mysql已经删除成功

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号