using System;
using System.Data;
using System.Data.Common;

namespace TwoLayer.DataAccess
{
   /// <summary>
   /// 
   /// </summary>
   public class CategoryDA : AbstractDA
   {

      protected override string SelectStatement
      {
         get { return "SELECT CategoryId, CategoryName FROM Categories"; }
      }

      /// <summary>
      /// Zwraca tabelę z danymi zawierającą informacje o tabeli wydawcy dla określonego identyfikatora.
      /// Ten zbiór danych będzie zawierać 0 lub 1 wiersz danych.
      /// </summary>
      public override DataTable GetById(object oId)
      {
         int id = (int)oId;

         // utwórz sparametryzowaną instrukcję zapytania
         string sql = SelectStatement + " WHERE CategoryId=@id";

         // utwórz tablicę parametrów
         DbParameter[] parameters = new DbParameter[] {
			MakeParameter("@id", id, DbType.Int32)
															};
         // zwróć wynik
         return GetDataTable(sql, parameters);
      }

   }
}

