//
// System.Data.ProviderBase.DbCommandBase
//
// Author:
// Tim Coleman (tim@timcoleman.com)
// Boris Kirzner (borisk@mainsoft.com)
//
// Copyright (C) Tim Coleman, 2003
//
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
// (C) 2005 Mainsoft Corporation (http://www.mainsoft.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
#if NET_2_0 || TARGET_JVM
using System.Data.Common;
namespace System.Data.ProviderBase{
public abstract class DbCommandBase : DbCommand
{
#region Fields
string _commandText;
int _commandTimeout;
CommandType _commandType;
bool _designTimeVisible;
UpdateRowSource _updatedRowSource;
#endregion // Fields
#region Constructors
protected DbCommandBase ()
{
_commandText = String.Empty;
_commandTimeout = 30;
_commandType = CommandType.Text;
_designTimeVisible = true;
_updatedRowSource = UpdateRowSource.Both;
}
protected DbCommandBase (DbCommandBase from)
{
_commandText = from._commandText;
_commandTimeout = from._commandTimeout;
_commandType = from._commandType;
_updatedRowSource = from._updatedRowSource;
_designTimeVisible = from._designTimeVisible;
}
#endregion // Constructors
#region Properties
public override string CommandText {
get { return _commandText; }
set { _commandText = value; }
}
public override int CommandTimeout {
get { return _commandTimeout; }
set { _commandTimeout = value; }
}
public override CommandType CommandType {
get { return _commandType; }
set { _commandType = value; }
}
public override bool DesignTimeVisible {
get { return _designTimeVisible; }
set { _designTimeVisible = value; }
}
public override UpdateRowSource UpdatedRowSource {
get { return _updatedRowSource; }
set { _updatedRowSource = value; }
}
#endregion // Properties
#region Methods
[MonoTODO]
public override void Cancel ()
{
throw new NotImplementedException ();
}
public override int ExecuteNonQuery ()
{
IDataReader reader = null;
try {
reader = ExecuteReader ();
}
finally {
if (reader != null)
reader.Close ();
}
return reader.RecordsAffected;
}
public override object ExecuteScalar ()
{
IDataReader reader = ExecuteReader(CommandBehavior.SingleRow | CommandBehavior.SequentialAccess);
try {
do {
if (reader.FieldCount > 0 && reader.Read ())
return reader.GetValue (0);
}
while (reader.NextResult ());
return null;
} finally {
reader.Close();
}
}
[MonoTODO]
public override void Prepare ()
{
throw new NotImplementedException ();
}
public virtual void PropertyChanging ()
{
}
public virtual void ResetCommandTimeout ()
{
_commandTimeout = 30;
}
[MonoTODO]
protected internal static void SetInputParameterValues (DbCommand command, object[] inputParameterValues)
{
throw new NotImplementedException ();
}
#endregion // Methods
}
}
#endif
|