public static string MakeWhereClause(IDictionary<string, object> whereCols, IList<object> sqlParams)
{
StringBuilder whereClause = DbCaches.StringBuilders.Get();
if ((whereCols != null) && (whereCols.Count > 0))
{
whereClause.Append(" WHERE ");
bool first = true;
foreach (string key in whereCols.Keys)
{
if (!first)
{
whereClause.Append(" AND ");
}
else
{
first = false;
}
object val = whereCols[key];
whereClause.Append(key);
if (val != null)
{
whereClause.Append(" = ?");
sqlParams.Add(val);
}
else
{
whereClause.Append(" IS NULL");
}
}
}
string retVal = whereClause.ToString();
DbCaches.StringBuilders.Return(whereClause);
return retVal;
}