连接MySql数据库前需要添加动态链接库,包括MySql.Data.dll、System.Data.dll,具体如何添加动态链接库,可以参考https://blog.csdn.net/zxy13826134783/article/details/79660950
动态链接库下载链接:https://pan.baidu.com/s/1p8ASueXqZemV-HrrOXfVxA
需要添加的命名空间如下:
using MySql.Data.MySqlClient;
using MySql.Data;
using System;
using System.Data;
使用下面两个方法,得创建一个名mydatabase的数据库,该数据库中有名为mytable的表,表中包含int类型的id,varchar类型的的usename,varchar类型的password
以下两个方法放在一个类中,可以通过类new对象使用
添加数据的方法:
/// <summary>
///添加数据,其中参数ip为要连接的数据库ip,uname为用户名,upwd为密码
/// </summary>
public bool register(string ip, string uname, string upwd)
{
//增加操作
try
{
string strConn = "data source=" + ip + ";database=mydatabase;user id=root;password=root;charset=utf8";
using (MySqlConnection conn = new MySqlConnection(strConn))
{
//增加的数据库语句
string sql = "insert mytable (usename,password) values(@usename,@password)";
MySqlCommand cmd = new MySqlCommand(sql, conn);
//添加参数
cmd.Parameters.Add(new MySqlParameter("@usename", uname));
cmd.Parameters.Add(new MySqlParameter("@password", upwd));//打开数据库
conn.Open();
//执行操作
int rowCount = cmd.ExecuteNonQuery();
if (rowCount > 0)
{
Debug.Log("添加成功");
return true;
}
else
{
Debug.Log("添加失败");
return false;
}
}
}
catch (Exception)
{
Debug.Log("添加失败");
return false;
}
}
登录操作方法:
/// <summary>
/// 登录操作
/// </summary>
public bool login(string ip, string uname, string upwd)
{
try
{
string connStr = "data source=" + ip + ";database=mydatabase;user id=root;password=root;charset=utf8";
using (MySqlConnection conn = new MySqlConnection(connStr))
{
//所要操作的数据库语句
string sql = "select password from mytable where usename=@usename";
MySqlCommand cmd = new MySqlCommand(sql, conn);
//添加参数
cmd.Parameters.Add(new MySqlParameter("@usename", uname));
//打开数据库
conn.Open();
//查询是否有所查询的对象
object upwd2 = cmd.ExecuteScalar();
if (upwd2 == null)
{
Debug.Log("用户名错误");
return false;
}
else
{
if (upwd2.ToString().Equals(upwd))
{
Debug.Log("登录成功");
return true;
}
else
{
Debug.Log("密码错误");
return false;
}
}
}
}
catch (Exception)
{
Debug.Log("登录失败");
return false;
}
}
进行Build前,需要如下设置:
修改 Edit -> Project Settings -> Player->Other Setting中的API Compatibility Level为.Net 2.0
如果Build过程中出错可以参考
https://blog.csdn.net/zxy13826134783/article/details/79843774