old_flsystem/类库/SqlSugar/5.0.0.9/Abstract/SqlBuilderProvider/SqlQueryBuilder.cs

85 lines
2.0 KiB
C#
Raw Normal View History

2022-09-20 03:10:29 +00:00
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace SqlSugar
{
public class SqlQueryBuilder : IDMLBuilder
{
#region Fields
private string _Fields;
private StringBuilder _Sql;
private List<SugarParameter> _Parameters;
#endregion
#region Properties
public SqlSugarProvider Context { get; set; }
public string Fields
{
get
{
if (this._Fields.IsNullOrEmpty())
{
this._Fields = Regex.Match(this.sql.ObjToString().Replace("\n", string.Empty).Replace("\r", string.Empty).Trim(), @"select(.*?)from", RegexOptions.IgnoreCase).Groups[1].Value;
if (this._Fields.IsNullOrEmpty())
{
this._Fields = "*";
}
}
return this._Fields;
}
set
{
_Fields = value;
}
}
public StringBuilder sql
{
get
{
_Sql = UtilMethods.IsNullReturnNew(_Sql);
return _Sql;
}
set
{
_Sql = value;
}
}
public string SqlTemplate
{
get
{
return null;
}
}
public List<SugarParameter> Parameters
{
get
{
_Parameters = UtilMethods.IsNullReturnNew(_Parameters);
return _Parameters;
}
set
{
_Parameters = value;
}
}
#endregion
#region Methods
public string ToSqlString()
{
return sql.ToString();
}
public void Clear()
{
this.sql = null;
}
#endregion
}
}