/// <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()); }
/// <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()); }