You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.9 KiB
81 lines
1.9 KiB
using System.Collections.Generic;
|
|
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 SqlSugarClient 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
|
|
}
|
|
}
|