Example #1
0
        /// <summary>
        /// Gets a select clause for querying a column (mainly the geometry column is our focus)
        /// </summary>
        /// <param name="command">The command object</param>
        /// <param name="column">The column</param>
        /// <param name="oid">The (optional) object id constraint</param>
        /// <param name="spatialWhere">The (optional) spatial constraint</param>
        /// <returns>The sql string to select the column</returns>
        public string GetSelectColumnClause(DbCommand command, string column, uint oid, string spatialWhere)
        {
            var sqlBuilder = new StringBuilder("SELECT ");

            sqlBuilder.Append(_spatialDbUtility.DecorateColumn(column));
            sqlBuilder.AppendFormat(" FROM {0}", _spatialDbUtility.DecorateTable(_provider.Schema, _provider.Table));
            if (oid == 0xffffffff)
            {
                sqlBuilder.AppendFormat(" WHERE {0}",
                                        _spatialDbUtility.DecorateEntityConstraintWithParameter(command, _provider.ObjectIdColumn, "= {0}", oid));
            }
            else
            {
                sqlBuilder.Append(GetWhereClause(spatialWhere));
            }
            sqlBuilder.AppendFormat(" {0};", GetGroupByClause());

            return(sqlBuilder.ToString());
        }
Example #2
0
        /// <summary>
        /// Gets a select clause for querying a column (mainly the geometry column is our focus)
        /// </summary>
        /// <param name="command">The command object</param>
        /// <param name="column">The column</param>
        /// <param name="oid">The (optional) object id constraint</param>
        /// <param name="spatialWhere">The (optional) spatial constraint</param>
        /// <returns>The sql string to select the column</returns>
        public string GetSelectColumnClause(DbCommand command, SharpMapFeatureColumn column, object oid, string spatialWhere)
        {
            var sqlBuilder = new StringBuilder("SELECT ");

            sqlBuilder.Append(_spatialDbUtility.DecorateColumn(column.Column));
            sqlBuilder.AppendFormat(" FROM {0}", _spatialDbUtility.DecorateTable(_provider.Schema, _provider.Table));
            if (oid != null)
            {
                if (column.DbType != System.Data.DbType.UInt32)
                {
                    sqlBuilder.AppendFormat(" WHERE {0}",
                                            _spatialDbUtility.DecorateEntityConstraintWithParameter(command, _provider._oidColumn, "= {0}", _spatialDbUtility.ToDbType(oid, column.DbType)));
                }
            }
            else
            {
                sqlBuilder.Append(GetWhereClause(spatialWhere));
            }
            sqlBuilder.AppendFormat(" {0};", GetGroupByClause());

            return(sqlBuilder.ToString());
        }