milimoe b25698d91b
服务器插件优化;物品添加魔法技能组,文本优化 (#100)
* 添加了 SQLHelperFactory;完善了物品的描述信息;一些代码风格修改

* 构造的物品默认 1 级;为服务器插件添加控制器;添加邮件发送器的工厂;在物品中添加魔法技能组
2024-11-13 09:18:58 +08:00

99 lines
2.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Data;
using Milimoe.FunGame.Core.Interface.Base;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Model;
namespace Milimoe.FunGame.Core.Api.Transmittal
{
/// <summary>
/// 需要在Server中继承此类实现
/// </summary>
public abstract class SQLHelper : ISQLHelper, IDisposable
{
public abstract FunGameInfo.FunGame FunGameType { get; }
public abstract SQLMode Mode { get; }
public abstract string Script { get; set; }
public abstract CommandType CommandType { get; set; }
public abstract SQLResult Result { get; }
public abstract SQLServerInfo ServerInfo { get; }
public abstract int UpdateRows { get; }
public abstract DataSet DataSet { get; }
public bool Success => Result == SQLResult.Success;
/// <summary>
/// 执行一个命令
/// </summary>
/// <returns>影响的行数</returns>
public abstract int Execute();
/// <summary>
/// 执行一个指定的命令
/// </summary>
/// <param name="script">命令</param>
/// <returns>影响的行数</returns>
public abstract int Execute(string script);
/// <summary>
/// 查询DataSet
/// </summary>
/// <returns>结果集</returns>
public abstract DataSet ExecuteDataSet();
/// <summary>
/// 执行指定的命令查询DataSet
/// </summary>
/// <param name="script">命令</param>
/// <returns>结果集</returns>
public abstract DataSet ExecuteDataSet(string script);
/// <summary>
/// 执行指定的命令查询DataRow可选实现
/// </summary>
/// <returns>结果行</returns>
public virtual DataRow? ExecuteDataRow()
{
return ExecuteDataRow(Script);
}
/// <summary>
/// 执行指定的命令查询DataRow可选实现
/// </summary>
/// <param name="script">命令</param>
/// <returns>结果行</returns>
public virtual DataRow? ExecuteDataRow(string script)
{
DataSet dataSet = ExecuteDataSet(script);
if (dataSet.Tables.Count > 0 && dataSet.Tables[0].Rows.Count > 0)
{
return dataSet.Tables[0].Rows[0];
}
return null;
}
/// <summary>
/// 关闭连接
/// </summary>
public abstract void Close();
/// <summary>
/// 创建一个SQL事务
/// </summary>
public abstract void NewTransaction();
/// <summary>
/// 提交事务
/// </summary>
public abstract void Commit();
/// <summary>
/// 回滚事务
/// </summary>
public abstract void Rollback();
/// <summary>
/// 释放资源
/// </summary>
public abstract void Dispose();
}
}