Azavea.Open.DAO.SQL.SqlUtilities.MakeWhereClause C# (CSharp) Method

MakeWhereClause() public static method

Helper method to generate a where clause, where keys = values. You can simply concatenate this on the end of an SQL statement ("SELECT something " + MakeWhereClause(...)).
public static MakeWhereClause ( object>.IDictionary whereCols, IList sqlParams ) : string
whereCols object>.IDictionary Dictionary of object column values keyed by string column names.
sqlParams IList List to insert sql param values (in order) into.
return string
        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;
        }