item.cs

来自「ASP.net网站开发四“酷”全书:新闻、论坛、电子商城、博客_源码」· CS 代码 · 共 71 行

CS
71
字号
using System;
using System.Collections;
using System.Data;
using System.Diagnostics;
using System.Data.SqlClient;
using BookShop.Model;
using BookShop.IDAL;

namespace BookShop.SQLServerDAL {

	public class Item : IItem{

		// Static constants
		private const string SQL_SELECT_ITEM = "SELECT Item.ItemId, Item.Attr1, Inventory.Qty, Item.ListPrice, Product.Name, Product.Descn FROM Item INNER JOIN Inventory ON Item.ItemId = Inventory.ItemId INNER JOIN Product ON Item.ProductId = Product.ProductId WHERE Item.ItemId = @ItemId";
		private const string SQL_SELECT_ITEMS_BY_PRODUCT = "SELECT ItemId, Attr1, ListPrice, Name FROM Item INNER JOIN Product ON Item.ProductId = Product.ProductId WHERE Item.ProductId = @ProductId";
		
		private const string PARM_ITEM_ID = "@ItemId";
		private const string PARM_PRODUCT_ID = "@ProductId";

		/// <summary>
		/// Function to get a list of items within a product group
		/// </summary>
		/// <param name="productId"></param>
		/// <returns></returns>
		public IList GetItemsByProduct(string productId) {

			IList itemsByProduct = new ArrayList();

			SqlParameter parm = new SqlParameter(PARM_PRODUCT_ID, SqlDbType.Char, 10);
			parm.Value = productId;
			
			//Execute the query against the database
			using (SqlDataReader rdr = SQLHelper.ExecuteReader(SQLHelper.CONN_STRING_NON_DTC, CommandType.Text, SQL_SELECT_ITEMS_BY_PRODUCT, parm)) {
				// Scroll through the results
				while (rdr.Read()){
					ItemInfo item = new ItemInfo(rdr.GetString(0).Trim(), rdr.GetString(1), rdr.GetDecimal(2), rdr.GetString(3), null);
					//Add each item to the arraylist
					itemsByProduct.Add(item);
				}
			}

			return itemsByProduct;
		}


		/// <summary>
		/// Get an individual item based on a the unique key
		/// </summary>
		/// <param name="itemId">unique key</param>
		/// <returns></returns>
		public ItemInfo GetItem(string itemId) {
			
			//Set up a return value
			ItemInfo item = null;

			//Create a parameter
			SqlParameter parm = new SqlParameter(PARM_ITEM_ID, SqlDbType.Char, 10);
			//Bind the parameter
			parm.Value = itemId;

			//Execute the query
			using (SqlDataReader rdr = SQLHelper.ExecuteReader(SQLHelper.CONN_STRING_NON_DTC, CommandType.Text, SQL_SELECT_ITEM, parm)) {
				rdr.Read();
				item = new ItemInfo(rdr.GetString(0).Trim(), rdr.GetString(1), rdr.GetInt32(2), rdr.GetDecimal(3), rdr.GetString(4), rdr.GetString(5));
				 
			}
			return item;
		}
	}
}

⌨️ 快捷键说明

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