using Apewer; using System; namespace Apewer.Source { /// 数据库引擎的执行结果。 public class Execute : IExecute, IToJson { private bool _success = false; private string _message = ""; private int _rows = 0; /// 语句执行成功。 public bool Success { get => _success; } /// 受影响的行数。 public int Rows { get => _rows; } /// 消息。 public string Message { get => _message; } /// 创建实例。 public Execute(bool success, string message) { _success = false; _message = message; } /// 创建实例。 public Execute(bool success, int rows) { _success = success; _rows = rows; } /// 创建实例,Exception 为 NULL 时候成功,非 NULL 时为失败。 public Execute(Exception exception) { _success = exception == null; _message = RuntimeUtility.Message(exception); } /// 的隐式转换,判断 执行成功。 public static implicit operator bool(Execute instance) { return instance != null && instance.Success; } #region IToJson /// 转换为 Json 对象。 public Json ToJson() { var jsonObject = Json.NewObject(); jsonObject.SetProperty("success", _success); jsonObject.SetProperty("message", _message); jsonObject.SetProperty("rows", _rows); return jsonObject; } #endregion } }