milimoe 2de1e57e0c
针对服务器端的新功能支持与改进 (#90)
* 添加SQLite模式

* 将Hashtable转为Dictionary<string, object>,因为它具有性能优势

* 添加GamingRequest用于区分Gaming

* 模组中AfterLoad方法现已移动至加载器完全加载完毕后触发

* 删除了服务器对GameModule的加载,现在只会加载GameModuleServer
2024-09-25 09:24:53 +08:00

89 lines
2.6 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
{
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 null;
}
/// <summary>
/// 执行指定的命令查询DataRow可选实现
/// </summary>
/// <param name="Script">命令</param>
/// <returns>结果行</returns>
public virtual DataRow? ExecuteDataRow(string Script)
{
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();
}
}