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.
 
 
 

47 lines
1.2 KiB

using System.Collections.Generic;
using System.Text;
namespace Repository
{
public class Query
{
public Query()
{
}
public Query(string proc, string flag = null, Dictionary<string, string> param = null)
{
this.Procedure = proc;
this.Flag = flag;
this.Params = param;
}
public string Procedure { get; set; }
public string Flag { get; set; }
public Dictionary<string, string> Params { get; set; }
public override string ToString()
{
var sql = new StringBuilder("EXEC " + Procedure);
if (!string.IsNullOrEmpty(Flag))
{
sql.AppendFormat(" @Flag = '{0}'", Flag);
if (Params.Count > 0)
{
sql.Append(", ");
}
}
if (Params.Count > 0)
{
var st = new List<string>();
foreach (var v in Params)
{
st.Add(string.Format("{0} = {1}", v.Key, v.Value));
}
sql.Append(string.Join(",", st));
}
return sql.ToString();
}
}
}