Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / SqlClient / SqlGen / TopClause.cs / 1305376 / TopClause.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Text;
using System.Data.SqlClient;
using System.Data.Metadata.Edm;
using System.Data.Common.CommandTrees;
namespace System.Data.SqlClient.SqlGen
{
///
/// TopClause represents the a TOP expression in a SqlSelectStatement.
/// It has a count property, which indicates how many TOP rows should be selected and a
/// boolen WithTies property.
///
class TopClause : ISqlFragment
{
ISqlFragment topCount;
bool withTies;
///
/// Do we need to add a WITH_TIES to the top statement
///
internal bool WithTies
{
get { return withTies; }
}
///
/// How many top rows should be selected.
///
internal ISqlFragment TopCount
{
get { return topCount; }
}
///
/// Creates a TopClause with the given topCount and withTies.
///
///
///
internal TopClause(ISqlFragment topCount, bool withTies)
{
this.topCount = topCount;
this.withTies = withTies;
}
///
/// Creates a TopClause with the given topCount and withTies.
///
///
///
internal TopClause(int topCount, bool withTies)
{
SqlBuilder sqlBuilder = new SqlBuilder();
sqlBuilder.Append(topCount.ToString(CultureInfo.InvariantCulture));
this.topCount = sqlBuilder;
this.withTies = withTies;
}
#region ISqlFragment Members
///
/// Write out the TOP part of sql select statement
/// It basically writes TOP (X) [WITH TIES].
/// The brackets around X are ommited for Sql8.
///
///
///
public void WriteSql(SqlWriter writer, SqlGenerator sqlGenerator)
{
writer.Write("TOP ");
if (sqlGenerator.SqlVersion != SqlVersion.Sql8)
{
writer.Write("(");
}
this.TopCount.WriteSql(writer, sqlGenerator);
if (sqlGenerator.SqlVersion != SqlVersion.Sql8)
{
writer.Write(")");
}
writer.Write(" ");
if (this.WithTies)
{
writer.Write("WITH TIES ");
}
}
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Text;
using System.Data.SqlClient;
using System.Data.Metadata.Edm;
using System.Data.Common.CommandTrees;
namespace System.Data.SqlClient.SqlGen
{
///
/// TopClause represents the a TOP expression in a SqlSelectStatement.
/// It has a count property, which indicates how many TOP rows should be selected and a
/// boolen WithTies property.
///
class TopClause : ISqlFragment
{
ISqlFragment topCount;
bool withTies;
///
/// Do we need to add a WITH_TIES to the top statement
///
internal bool WithTies
{
get { return withTies; }
}
///
/// How many top rows should be selected.
///
internal ISqlFragment TopCount
{
get { return topCount; }
}
///
/// Creates a TopClause with the given topCount and withTies.
///
///
///
internal TopClause(ISqlFragment topCount, bool withTies)
{
this.topCount = topCount;
this.withTies = withTies;
}
///
/// Creates a TopClause with the given topCount and withTies.
///
///
///
internal TopClause(int topCount, bool withTies)
{
SqlBuilder sqlBuilder = new SqlBuilder();
sqlBuilder.Append(topCount.ToString(CultureInfo.InvariantCulture));
this.topCount = sqlBuilder;
this.withTies = withTies;
}
#region ISqlFragment Members
///
/// Write out the TOP part of sql select statement
/// It basically writes TOP (X) [WITH TIES].
/// The brackets around X are ommited for Sql8.
///
///
///
public void WriteSql(SqlWriter writer, SqlGenerator sqlGenerator)
{
writer.Write("TOP ");
if (sqlGenerator.SqlVersion != SqlVersion.Sql8)
{
writer.Write("(");
}
this.TopCount.WriteSql(writer, sqlGenerator);
if (sqlGenerator.SqlVersion != SqlVersion.Sql8)
{
writer.Write(")");
}
writer.Write(" ");
if (this.WithTies)
{
writer.Write("WITH TIES ");
}
}
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ReadingWritingEntityEventArgs.cs
- Int16Converter.cs
- TraceXPathNavigator.cs
- EntityContainerAssociationSet.cs
- ProcessHost.cs
- Input.cs
- CheckoutException.cs
- Bezier.cs
- ScriptMethodAttribute.cs
- HandleCollector.cs
- XmlTextReader.cs
- Geometry3D.cs
- panel.cs
- MenuItemBindingCollection.cs
- CompilerState.cs
- TableLayoutColumnStyleCollection.cs
- StyleConverter.cs
- TokenizerHelper.cs
- SqlSupersetValidator.cs
- Shape.cs
- ToolStripButton.cs
- ProxyHwnd.cs
- URLAttribute.cs
- TimeSpanValidatorAttribute.cs
- SQLInt16Storage.cs
- HiddenField.cs
- EventItfInfo.cs
- MatrixTransform.cs
- HttpApplication.cs
- ContainerParagraph.cs
- ServerValidateEventArgs.cs
- Helper.cs
- SessionStateModule.cs
- TransactionChannelListener.cs
- MetafileHeaderWmf.cs
- XsltException.cs
- GcHandle.cs
- DbParameterHelper.cs
- EditBehavior.cs
- DrawingContextWalker.cs
- BaseServiceProvider.cs
- WebPartEditVerb.cs
- ColumnTypeConverter.cs
- ellipse.cs
- ItemDragEvent.cs
- BlurBitmapEffect.cs
- DesignerSerializationManager.cs
- Pair.cs
- XmlWrappingReader.cs
- XmlSchemaComplexContentRestriction.cs
- ValueUnavailableException.cs
- CustomError.cs
- GroupBox.cs
- LocalBuilder.cs
- StoryFragments.cs
- UnsafeNativeMethods.cs
- CreateUserWizardStep.cs
- PagePropertiesChangingEventArgs.cs
- RequestSecurityTokenResponse.cs
- WpfXamlLoader.cs
- WebControlAdapter.cs
- FileChangesMonitor.cs
- MediaContext.cs
- ObjectSet.cs
- UTF32Encoding.cs
- HandlerBase.cs
- ModelProperty.cs
- Color.cs
- CommandConverter.cs
- SspiSecurityToken.cs
- sapiproxy.cs
- PrintController.cs
- MsmqInputSessionChannelListener.cs
- Propagator.ExtentPlaceholderCreator.cs
- ISCIIEncoding.cs
- XsdDateTime.cs
- XmlProcessingInstruction.cs
- DataList.cs
- NumberFormatter.cs
- Transform.cs
- Image.cs
- ClusterRegistryConfigurationProvider.cs
- TemplateContent.cs
- FixedSOMLineRanges.cs
- HwndAppCommandInputProvider.cs
- FontUnit.cs
- WindowHideOrCloseTracker.cs
- MethodToken.cs
- PersonalizationDictionary.cs
- PageTheme.cs
- QilNode.cs
- LocalValueEnumerator.cs
- AttributeProviderAttribute.cs
- StyleSheet.cs
- RoutedEvent.cs
- XpsFilter.cs
- ColumnPropertiesGroup.cs
- HierarchicalDataSourceControl.cs
- XmlSchemaInferenceException.cs
- SchemaImporter.cs