using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.Common; namespace Ant.Data { public abstract class BaseDataAccess : DataAccess { #region DataAccess 成员 public abstract string ConnectionString { get; set; } public abstract DatabaseType DatabaseType { get; } public abstract bool IsClosed { get; } /// /// 数据库连接是否不可用 /// public abstract bool IsUnEnable { get; } public abstract DbTransaction Trans { get; } public abstract void Open(); public abstract void Close(); public abstract void BeginTransaction(); public abstract void Commit(); public abstract void RollBack(); #region ExecuteNonQuery public int ExecuteNonQuery(string commandText) { return ExecuteNonQuery(commandText, CommandType.Text, null); } public int ExecuteNonQuery(string commandText, System.Data.CommandType commandType) { return ExecuteNonQuery(commandText, commandType, null); } public int ExecuteNonQuery(string commandText, QueryParameterCollection Parameters) { return ExecuteNonQuery(commandText, CommandType.Text, Parameters); } #endregion public abstract int ExecuteNonQuery(string commandText, System.Data.CommandType commandType, QueryParameterCollection Parameters); #region ExecuteDataReader public System.Data.Common.DbDataReader ExecuteDataReader(string commandText) { return ExecuteDataReader(commandText, CommandType.Text, null); } public System.Data.Common.DbDataReader ExecuteDataReader(string commandText, System.Data.CommandType commandType) { return ExecuteDataReader(commandText, commandType, null); } public System.Data.Common.DbDataReader ExecuteDataReader(string commandText, QueryParameterCollection Parameters) { return ExecuteDataReader(commandText, CommandType.Text, Parameters); } #endregion public abstract System.Data.Common.DbDataReader ExecuteDataReader(string commandText, System.Data.CommandType commandType, QueryParameterCollection Parameters); #region ExecuteDataTable public System.Data.DataTable ExecuteDataTable(string commandText) { return ExecuteDataTable(commandText, CommandType.Text, null, null, 0, 0); } public System.Data.DataTable ExecuteDataTable(string commandText, System.Data.CommandType commandType) { return ExecuteDataTable(commandText, commandType, null, null, 0, 0); } public System.Data.DataTable ExecuteDataTable(string commandText, QueryParameterCollection Parameters, string tableName) { return ExecuteDataTable(commandText, CommandType.Text, Parameters, tableName, 0, 0); } public System.Data.DataTable ExecuteDataTable(string commandText, QueryParameterCollection Parameters) { return ExecuteDataTable(commandText, CommandType.Text, Parameters, null, 0, 0); } public System.Data.DataTable ExecuteDataTable(string commandText, System.Data.CommandType commandType, QueryParameterCollection Parameters) { return ExecuteDataTable(commandText, commandType, Parameters, null, 0, 0); } public System.Data.DataTable ExecuteDataTable(string commandText, System.Data.CommandType commandType, QueryParameterCollection Parameters, string tableName) { return ExecuteDataTable(commandText, commandType, Parameters, tableName, 0, 0); } public System.Data.DataTable ExecuteDataTable(string commandText, int startRecord, int maxRecords) { return ExecuteDataTable(commandText, CommandType.Text, null, null, startRecord, maxRecords); } public System.Data.DataTable ExecuteDataTable(string commandText, System.Data.CommandType commandType, int startRecord, int maxRecords) { return ExecuteDataTable(commandText, commandType, null, null, startRecord, maxRecords); } public System.Data.DataTable ExecuteDataTable(string commandText, QueryParameterCollection Parameters, int startRecord, int maxRecords) { return ExecuteDataTable(commandText, CommandType.Text, Parameters, null, startRecord, maxRecords); } public System.Data.DataTable ExecuteDataTable(string commandText, System.Data.CommandType commandType, QueryParameterCollection Parameters, int startRecord, int maxRecords) { return ExecuteDataTable(commandText, commandType, Parameters, startRecord, maxRecords); } #endregion public abstract System.Data.DataTable ExecuteDataTable(string commandText, System.Data.CommandType commandType, QueryParameterCollection Parameters, string tableName, int startRecord, int maxRecords); #region ExecuteDataSet public System.Data.DataSet ExecuteDataSet(string commandText) { return ExecuteDataSet(commandText, CommandType.Text, null, null, 0, 0); } public System.Data.DataSet ExecuteDataSet(string commandText, System.Data.CommandType commandType) { return ExecuteDataSet(commandText, commandType, null, null, 0, 0); } public System.Data.DataSet ExecuteDataSet(string commandText, QueryParameterCollection Parameters) { return ExecuteDataSet(commandText, CommandType.Text, Parameters, null, 0, 0); } public System.Data.DataSet ExecuteDataSet(string commandText, QueryParameterCollection Parameters, string tablename) { return ExecuteDataSet(commandText, CommandType.Text, Parameters, tablename, 0, 0); } public System.Data.DataSet ExecuteDataSet(string commandText, System.Data.CommandType commandType, QueryParameterCollection Parameters) { return ExecuteDataSet(commandText, commandType, Parameters, null, 0, 0); } public System.Data.DataSet ExecuteDataSet(string commandText, System.Data.CommandType commandType, QueryParameterCollection Parameters, string tableName) { return ExecuteDataSet(commandText, commandType, Parameters, tableName, 0, 0); } public System.Data.DataSet ExecuteDataSet(string commandText, int startRecord, int maxRecords) { return ExecuteDataSet(commandText, CommandType.Text, null, null, startRecord, maxRecords); } public System.Data.DataSet ExecuteDataSet(string commandText, System.Data.CommandType commandType, int startRecord, int maxRecords) { return ExecuteDataSet(commandText, commandType, null, null, startRecord, maxRecords); } public System.Data.DataSet ExecuteDataSet(string commandText, QueryParameterCollection Parameters, int startRecord, int maxRecords) { return ExecuteDataSet(commandText, CommandType.Text, Parameters, null, startRecord, maxRecords); } public System.Data.DataSet ExecuteDataSet(string commandText, System.Data.CommandType commandType, QueryParameterCollection Parameters, int startRecord, int maxRecords) { return ExecuteDataSet(commandText, commandType, Parameters, startRecord, maxRecords); } #endregion public abstract System.Data.DataSet ExecuteDataSet(string commandText, System.Data.CommandType commandType, QueryParameterCollection Parameters, string tableName, int startRecord, int maxRecords); #region ExecuteScalar public object ExecuteScalar(string commandText) { return ExecuteScalar(commandText, CommandType.Text, null); } public object ExecuteScalar(string commandText, System.Data.CommandType commandType) { return ExecuteScalar(commandText, commandType, null); } public object ExecuteScalar(string commandText, QueryParameterCollection parameters) { return ExecuteScalar(commandText, CommandType.Text, parameters); } #endregion public abstract object ExecuteScalar(string commandText, System.Data.CommandType commandType, QueryParameterCollection parameters); public abstract DbDataReader ExecuteReader(string cmdText, DbParam[] parameters, CommandType cmdType); public abstract int ExecuteNonQuery(string commandText, DbParam[] parameters, System.Data.CommandType commandType); public abstract object ExecuteScalar(string commandText, DbParam[] parameters, System.Data.CommandType commandType); #endregion #region IDisposable 成员 public abstract void Dispose(); #endregion #region 验证SQL语句是否正确 public abstract bool ValidateSQL(string sql); #endregion #region DataAccess 成员 public abstract DataView ExecuteDataView(string commandText, CommandType commandType, QueryParameterCollection Parameters, string tableName, int startRecord, int maxRecords); public object ExecuteScalar(string commandText, DbParam[] parameters) { return ExecuteScalar(commandText, parameters, CommandType.Text); } public object ExecuteScalar(CommandType commandType, string commandText, DbParam[] parameters) { return ExecuteScalar(commandText, parameters, commandType); } public int ExecuteNonQuery(string commandText, DbParam[] Parameters) { return ExecuteNonQuery(commandText, Parameters, CommandType.Text); } public DbDataReader ExecuteReader(string cmdText, DbParam[] parameters, CommandBehavior be, CommandType cmdType) { return ExecuteReader(cmdText, parameters, CommandType.Text); } #endregion } }