mirror of
https://github.com/project-redbud/FunGame-Server.git
synced 2025-04-21 11:39:36 +08:00
添加一步执行SQL的方法
This commit is contained in:
parent
ec596e964e
commit
062c0b026c
@ -90,8 +90,7 @@ namespace Milimoe.FunGame.Server.Model
|
||||
if (username != null && password != null)
|
||||
{
|
||||
ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(type) + "] UserName: " + username);
|
||||
SQLHelper.Script = UserQuery.Select_Users_LoginQuery(username, password);
|
||||
SQLHelper.ExecuteDataSet(out SQLResult result);
|
||||
SQLHelper.ExecuteDataSet(UserQuery.Select_Users_LoginQuery(username, password), out SQLResult result);
|
||||
if (result == SQLResult.Success)
|
||||
{
|
||||
DataRow UserRow = SQLHelper.DataSet.Tables[0].Rows[0];
|
||||
@ -122,8 +121,7 @@ namespace Milimoe.FunGame.Server.Model
|
||||
AddUser();
|
||||
GetUsersCount();
|
||||
// CheckLogin
|
||||
SQLHelper.Script = UserQuery.Update_CheckLogin(UserName, socket.ClientIP.Split(':')[0]);
|
||||
SQLHelper.Execute(out _);
|
||||
SQLHelper.Execute(UserQuery.Update_CheckLogin(UserName, socket.ClientIP.Split(':')[0]), out _);
|
||||
return Send(socket, type, UserName, Password);
|
||||
}
|
||||
ServerHelper.WriteLine("客户端发送了错误的秘钥,不允许本次登录。");
|
||||
@ -187,24 +185,21 @@ namespace Milimoe.FunGame.Server.Model
|
||||
if (username != null && email != null)
|
||||
{
|
||||
// 先检查账号是否重复
|
||||
SQLHelper.Script = UserQuery.Select_DuplicateUsername(username);
|
||||
SQLHelper.ExecuteDataSet(out SQLResult result);
|
||||
SQLHelper.ExecuteDataSet(UserQuery.Select_DuplicateUsername(username), out SQLResult result);
|
||||
if (result == SQLResult.Success)
|
||||
{
|
||||
ServerHelper.WriteLine(SocketHelper.MakeClientName(ClientName, User) + $" 账号已被注册");
|
||||
return Send(socket, type, RegInvokeType.DuplicateUserName);
|
||||
}
|
||||
// 检查邮箱是否重复
|
||||
SQLHelper.Script = UserQuery.Select_DuplicateEmail(email);
|
||||
SQLHelper.ExecuteDataSet(out result);
|
||||
SQLHelper.ExecuteDataSet(UserQuery.Select_DuplicateEmail(email), out result);
|
||||
if (result == SQLResult.Success)
|
||||
{
|
||||
ServerHelper.WriteLine(SocketHelper.MakeClientName(ClientName, User) + $" 邮箱已被注册");
|
||||
return Send(socket, type, RegInvokeType.DuplicateEmail);
|
||||
}
|
||||
// 检查验证码是否发送过
|
||||
SQLHelper.Script = RegVerifyCodes.Select_HasSentRegVerifyCode(username, email);
|
||||
SQLHelper.ExecuteDataSet(out result);
|
||||
SQLHelper.ExecuteDataSet(RegVerifyCodes.Select_HasSentRegVerifyCode(username, email), out result);
|
||||
if (result == SQLResult.Success)
|
||||
{
|
||||
DateTime RegTime = (DateTime)SQLHelper.DataSet.Tables[0].Rows[0][RegVerifyCodes.Column_RegTime];
|
||||
@ -216,11 +211,9 @@ namespace Milimoe.FunGame.Server.Model
|
||||
return Send(socket, type, RegInvokeType.InputVerifyCode);
|
||||
}
|
||||
// 发送验证码,需要先删除之前过期的验证码
|
||||
SQLHelper.Script = RegVerifyCodes.Delete_RegVerifyCode(username, email);
|
||||
SQLHelper.Execute(out _);
|
||||
SQLHelper.Execute(RegVerifyCodes.Delete_RegVerifyCode(username, email), out _);
|
||||
RegVerify = Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 6);
|
||||
SQLHelper.Script = RegVerifyCodes.Insert_RegVerifyCodes(username, email, RegVerify);
|
||||
SQLHelper.Execute(out result);
|
||||
SQLHelper.Execute(RegVerifyCodes.Insert_RegVerifyCodes(username, email, RegVerify), out result);
|
||||
if (result == SQLResult.Success)
|
||||
{
|
||||
if (MailSender != null)
|
||||
@ -261,8 +254,7 @@ namespace Milimoe.FunGame.Server.Model
|
||||
if (username != null && password != null && email != null && verifycode != null)
|
||||
{
|
||||
// 先检查验证码
|
||||
SQLHelper.Script = RegVerifyCodes.Select_RegVerifyCode(username, email, verifycode);
|
||||
SQLHelper.ExecuteDataSet(out SQLResult result);
|
||||
SQLHelper.ExecuteDataSet(RegVerifyCodes.Select_RegVerifyCode(username, email, verifycode), out SQLResult result);
|
||||
if (result == SQLResult.Success)
|
||||
{
|
||||
// 检查验证码是否过期
|
||||
@ -277,13 +269,11 @@ namespace Milimoe.FunGame.Server.Model
|
||||
if (RegVerify.Equals(SQLHelper.DataSet.Tables[0].Rows[0][RegVerifyCodes.Column_RegVerifyCode]))
|
||||
{
|
||||
ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(type) + "] UserName: " + username + " Email: " + email);
|
||||
SQLHelper.Script = UserQuery.Insert_Register(username, password, email);
|
||||
SQLHelper.Execute(out result);
|
||||
SQLHelper.Execute(UserQuery.Insert_Register(username, password, email), out result);
|
||||
if (result == SQLResult.Success)
|
||||
{
|
||||
msg = "注册成功!请牢记您的账号与密码!";
|
||||
SQLHelper.Script = RegVerifyCodes.Delete_RegVerifyCode(username, email);
|
||||
SQLHelper.Execute(out _);
|
||||
SQLHelper.Execute(RegVerifyCodes.Delete_RegVerifyCode(username, email), out _);
|
||||
return Send(socket, type, true, msg);
|
||||
}
|
||||
else msg = "服务器无法处理您的注册,注册失败!";
|
||||
@ -296,6 +286,18 @@ namespace Milimoe.FunGame.Server.Model
|
||||
}
|
||||
else msg = "注册失败!";
|
||||
return Send(socket, type, false, msg);
|
||||
|
||||
case SocketMessageType.UpdateRoom:
|
||||
break;
|
||||
|
||||
case SocketMessageType.CreateRoom:
|
||||
break;
|
||||
|
||||
case SocketMessageType.QuitRoom:
|
||||
break;
|
||||
|
||||
case SocketMessageType.ChangeRoomSetting:
|
||||
break;
|
||||
}
|
||||
return Send(socket, type, msg);
|
||||
}
|
||||
|
@ -46,6 +46,25 @@ namespace Milimoe.FunGame.Server.Utility
|
||||
return _UpdateRows;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行一个指定的命令
|
||||
/// </summary>
|
||||
/// <param name="Script">命令</param>
|
||||
/// <param name="Result">执行结果</param>
|
||||
/// <returns>影响的行数</returns>
|
||||
public override int Execute(string Script, out SQLResult Result)
|
||||
{
|
||||
// _IsOneTime = true需要手动创建连接和关闭
|
||||
if (_IsOneTime) _Connection = new MySQLConnection(out _ServerInfo);
|
||||
ServerHelper.WriteLine("SQLQuery -> " + Script);
|
||||
this.Script = Script;
|
||||
_DataSet = new DataSet();
|
||||
_UpdateRows = MySQLManager.Execute(this, out Result);
|
||||
_Result = Result;
|
||||
if (_IsOneTime) Close();
|
||||
return _UpdateRows;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询DataSet
|
||||
/// </summary>
|
||||
@ -62,6 +81,24 @@ namespace Milimoe.FunGame.Server.Utility
|
||||
return DataSet;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行指定的命令查询DataSet
|
||||
/// </summary>
|
||||
/// <param name="Script">命令</param>
|
||||
/// <param name="Result">执行结果</param>
|
||||
/// <returns>结果集</returns>
|
||||
public override DataSet ExecuteDataSet(string Script, out SQLResult Result)
|
||||
{
|
||||
// _IsOneTime = true需要手动创建连接和关闭
|
||||
if (_IsOneTime) _Connection = new MySQLConnection(out _ServerInfo);
|
||||
ServerHelper.WriteLine("SQLQuery -> " + Script);
|
||||
this.Script = Script;
|
||||
_DataSet = MySQLManager.ExecuteDataSet(this, out Result, out _UpdateRows);
|
||||
_Result = Result;
|
||||
if (_IsOneTime) Close();
|
||||
return DataSet;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 关闭连接
|
||||
/// </summary>
|
||||
|
Loading…
x
Reference in New Issue
Block a user