accessorselect.cs.svn-base

来自「MIED是用于个人帐务管理的小型软件」· SVN-BASE 代码 · 共 73 行

SVN-BASE
73
字号
using System.Collections;
using System.Collections.Generic;
using System.Data.Common;
using DatabaseUtil;
using Mied.BusinessObject;
using Mied.DAL.TableSchema;
using DatabaseUtil.Schemas;

namespace Mied.DAL.Accesses
{
    public abstract class AccessorSelect : AccessorBase
    {
        internal AccessorSelect(MiedDatabase database, string tableName)
            : base(database, tableName)
        { }

        protected int? SelectID(string field, string value)
        {
            DbCommand command = this.CommandSelectID();
            CommandFactory.WhereAnd(command, field, value);
            return SelectID(command);
        }

        protected int? SelectID(DbCommand command)
        {
            int? id = (int?)CommandHelper.ExecuteReader(command, ReadID);
            return id;
        }

        protected IList SelectList(string field1, object value1)
        {
            DbCommand command = this.CommandSelectEntity();
            CommandFactory.WhereAnd(command, field1, value1);
            return this.SelectList(command);
        }

        protected IList SelectList(string field1, object value1, string field2, object value2)
        {
            DbCommand command = this.CommandSelectEntity();
            CommandFactory.WhereAnd(command, field1, value1);
            CommandFactory.WhereAnd(command, field2, value2);
            return this.SelectList(command);
        }

        protected IList SelectList(DbCommand command)
        {
            IList list = this.CreateEntityList();
            CommandHelper.ExecuteReader(command, this.ReadEntity, list);
            return list;
        }

        protected IDList SelectIDList()
        {
            DbCommand command = this.CommandSelectID();
            IDList list = new IDList();
            CommandHelper.ExecuteReader(command, ReadID, list);
            return list;
        }

        protected virtual DbCommand CommandSelectID()
        {
            DbCommand command = CommandFactory.SelectField(this.Database.Connection, this.TableName, Schema.FieldID);
            return command;
        }

        private object ReadID(RecordReader reader)
        {
            int id = reader.GetInt32(Schema.FieldID);
            return id;
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?