Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Data / System / Data / Common / DBConnection.cs / 5 / DBConnection.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
// [....]
// [....]
//-----------------------------------------------------------------------------
namespace System.Data.Common {
using System;
using System.ComponentModel;
using System.Data;
#if WINFSInternalOnly
internal
#else
public
#endif
abstract class DbConnection : Component, IDbConnection { // V1.2.3300
private StateChangeEventHandler _stateChangeEventHandler;
protected DbConnection() : base() {
}
[
DefaultValue(""),
RecommendedAsConfigurable(true),
RefreshProperties(RefreshProperties.All),
ResCategoryAttribute(Res.DataCategory_Data),
]
abstract public string ConnectionString {
get;
set;
}
[
ResCategoryAttribute(Res.DataCategory_Data),
]
virtual public int ConnectionTimeout {
get {
return ADP.DefaultConnectionTimeout;
}
}
[
ResCategoryAttribute(Res.DataCategory_Data),
]
abstract public string Database {
get;
}
[
ResCategoryAttribute(Res.DataCategory_Data),
]
abstract public string DataSource {
// NOTE: if you plan on allowing the data source to be changed, you
// should implement a ChangeDataSource method, in keeping with
// the ChangeDatabase method paradigm.
get;
}
///
/// The associated provider factory for derived class.
///
virtual protected DbProviderFactory DbProviderFactory {
get {
return null;
}
}
internal DbProviderFactory ProviderFactory {
get {
return DbProviderFactory;
}
}
[
Browsable(false),
]
abstract public string ServerVersion {
get;
}
[
Browsable(false),
ResDescriptionAttribute(Res.DbConnection_State),
]
abstract public ConnectionState State {
get;
}
[
ResCategoryAttribute(Res.DataCategory_StateChange),
ResDescriptionAttribute(Res.DbConnection_StateChange),
]
virtual public event StateChangeEventHandler StateChange {
add {
_stateChangeEventHandler += value;
}
remove {
_stateChangeEventHandler -= value;
}
}
abstract protected DbTransaction BeginDbTransaction(IsolationLevel isolationLevel);
public DbTransaction BeginTransaction() {
return BeginDbTransaction(IsolationLevel.Unspecified);
}
public DbTransaction BeginTransaction(IsolationLevel isolationLevel) {
return BeginDbTransaction(isolationLevel);
}
IDbTransaction IDbConnection.BeginTransaction() {
return BeginDbTransaction(IsolationLevel.Unspecified);
}
IDbTransaction IDbConnection.BeginTransaction(IsolationLevel isolationLevel) {
return BeginDbTransaction(isolationLevel);
}
abstract public void Close();
abstract public void ChangeDatabase(string databaseName);
public DbCommand CreateCommand() {
return CreateDbCommand();
}
IDbCommand IDbConnection.CreateCommand() {
return CreateDbCommand();
}
abstract protected DbCommand CreateDbCommand();
virtual public void EnlistTransaction(System.Transactions.Transaction transaction) {
// NOTE: This is virtual because not all providers may choose to support
// distributed transactions.
throw ADP.NotSupported();
}
// these need to be here so that GetSchema is visible when programming to a dbConnection object.
// they are overridden by the real implementations in DbConnectionBase
virtual public DataTable GetSchema() {
throw ADP.NotSupported();
}
virtual public DataTable GetSchema(string collectionName) {
throw ADP.NotSupported();
}
virtual public DataTable GetSchema(string collectionName, string[] restrictionValues ) {
throw ADP.NotSupported();
}
protected virtual void OnStateChange(StateChangeEventArgs stateChange) {
StateChangeEventHandler handler = _stateChangeEventHandler;
if (null != handler) {
handler(this, stateChange);
}
}
abstract public void Open();
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
// [....]
// [....]
//-----------------------------------------------------------------------------
namespace System.Data.Common {
using System;
using System.ComponentModel;
using System.Data;
#if WINFSInternalOnly
internal
#else
public
#endif
abstract class DbConnection : Component, IDbConnection { // V1.2.3300
private StateChangeEventHandler _stateChangeEventHandler;
protected DbConnection() : base() {
}
[
DefaultValue(""),
RecommendedAsConfigurable(true),
RefreshProperties(RefreshProperties.All),
ResCategoryAttribute(Res.DataCategory_Data),
]
abstract public string ConnectionString {
get;
set;
}
[
ResCategoryAttribute(Res.DataCategory_Data),
]
virtual public int ConnectionTimeout {
get {
return ADP.DefaultConnectionTimeout;
}
}
[
ResCategoryAttribute(Res.DataCategory_Data),
]
abstract public string Database {
get;
}
[
ResCategoryAttribute(Res.DataCategory_Data),
]
abstract public string DataSource {
// NOTE: if you plan on allowing the data source to be changed, you
// should implement a ChangeDataSource method, in keeping with
// the ChangeDatabase method paradigm.
get;
}
///
/// The associated provider factory for derived class.
///
virtual protected DbProviderFactory DbProviderFactory {
get {
return null;
}
}
internal DbProviderFactory ProviderFactory {
get {
return DbProviderFactory;
}
}
[
Browsable(false),
]
abstract public string ServerVersion {
get;
}
[
Browsable(false),
ResDescriptionAttribute(Res.DbConnection_State),
]
abstract public ConnectionState State {
get;
}
[
ResCategoryAttribute(Res.DataCategory_StateChange),
ResDescriptionAttribute(Res.DbConnection_StateChange),
]
virtual public event StateChangeEventHandler StateChange {
add {
_stateChangeEventHandler += value;
}
remove {
_stateChangeEventHandler -= value;
}
}
abstract protected DbTransaction BeginDbTransaction(IsolationLevel isolationLevel);
public DbTransaction BeginTransaction() {
return BeginDbTransaction(IsolationLevel.Unspecified);
}
public DbTransaction BeginTransaction(IsolationLevel isolationLevel) {
return BeginDbTransaction(isolationLevel);
}
IDbTransaction IDbConnection.BeginTransaction() {
return BeginDbTransaction(IsolationLevel.Unspecified);
}
IDbTransaction IDbConnection.BeginTransaction(IsolationLevel isolationLevel) {
return BeginDbTransaction(isolationLevel);
}
abstract public void Close();
abstract public void ChangeDatabase(string databaseName);
public DbCommand CreateCommand() {
return CreateDbCommand();
}
IDbCommand IDbConnection.CreateCommand() {
return CreateDbCommand();
}
abstract protected DbCommand CreateDbCommand();
virtual public void EnlistTransaction(System.Transactions.Transaction transaction) {
// NOTE: This is virtual because not all providers may choose to support
// distributed transactions.
throw ADP.NotSupported();
}
// these need to be here so that GetSchema is visible when programming to a dbConnection object.
// they are overridden by the real implementations in DbConnectionBase
virtual public DataTable GetSchema() {
throw ADP.NotSupported();
}
virtual public DataTable GetSchema(string collectionName) {
throw ADP.NotSupported();
}
virtual public DataTable GetSchema(string collectionName, string[] restrictionValues ) {
throw ADP.NotSupported();
}
protected virtual void OnStateChange(StateChangeEventArgs stateChange) {
StateChangeEventHandler handler = _stateChangeEventHandler;
if (null != handler) {
handler(this, stateChange);
}
}
abstract public void Open();
}
}
// 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
- MethodImplAttribute.cs
- TextCompositionEventArgs.cs
- CodeStatement.cs
- UiaCoreApi.cs
- TextCompositionEventArgs.cs
- MouseEvent.cs
- EncoderExceptionFallback.cs
- CompressedStack.cs
- AnnotationAuthorChangedEventArgs.cs
- RightsDocument.cs
- EdmComplexPropertyAttribute.cs
- DaylightTime.cs
- elementinformation.cs
- BinaryFormatterWriter.cs
- WorkflowExecutor.cs
- TitleStyle.cs
- DataGridViewColumnCollectionEditor.cs
- CallbackValidator.cs
- AuthenticationServiceManager.cs
- CoTaskMemHandle.cs
- MainMenu.cs
- COM2ExtendedBrowsingHandler.cs
- Pen.cs
- SafeSystemMetrics.cs
- MetadataCache.cs
- PassportPrincipal.cs
- ValueTypeFieldReference.cs
- WorkflowControlClient.cs
- OdbcInfoMessageEvent.cs
- ThemeDictionaryExtension.cs
- MetadataItemEmitter.cs
- Application.cs
- safemediahandle.cs
- LocalizableAttribute.cs
- ObjectDataSourceFilteringEventArgs.cs
- AppendHelper.cs
- SessionPageStatePersister.cs
- VirtualDirectoryMapping.cs
- XmlAnyElementAttributes.cs
- Guid.cs
- Brush.cs
- SupportingTokenListenerFactory.cs
- XmlILIndex.cs
- BitmapEffectInput.cs
- TextDecorationCollection.cs
- CodeNamespaceImportCollection.cs
- WebBrowserBase.cs
- NumericUpDownAccelerationCollection.cs
- ComponentDispatcherThread.cs
- TypeNameParser.cs
- ProvidersHelper.cs
- Pair.cs
- MissingFieldException.cs
- KeyGesture.cs
- InputEventArgs.cs
- SqlWebEventProvider.cs
- DataGridLinkButton.cs
- TextInfo.cs
- HatchBrush.cs
- DataGridViewDataConnection.cs
- Image.cs
- EntityDataSourceWrapper.cs
- RegionData.cs
- TargetInvocationException.cs
- StateRuntime.cs
- FormViewPagerRow.cs
- GreenMethods.cs
- AppDomainUnloadedException.cs
- EventWaitHandle.cs
- WebPartsSection.cs
- SizeConverter.cs
- TypeExtensionConverter.cs
- UnitySerializationHolder.cs
- GuidConverter.cs
- DataControlPagerLinkButton.cs
- SlotInfo.cs
- ContentDisposition.cs
- SamlConstants.cs
- ContextDataSourceView.cs
- CounterSet.cs
- XmlSortKeyAccumulator.cs
- PartitionedStream.cs
- ValueQuery.cs
- TreeNodeBindingCollection.cs
- ReferentialConstraint.cs
- ContractSearchPattern.cs
- GlyphCollection.cs
- LicenseManager.cs
- MemberNameValidator.cs
- TranslateTransform3D.cs
- InplaceBitmapMetadataWriter.cs
- ConstraintStruct.cs
- EventLog.cs
- ObjectSelectorEditor.cs
- InputScope.cs
- AxHost.cs
- OdbcConnectionFactory.cs
- IdleTimeoutMonitor.cs
- X509AsymmetricSecurityKey.cs
- PersistenceProviderElement.cs