【文件属性】:
文件名称:asp.net小实例解析
文件大小:521KB
文件格式:RAR
更新时间:2012-01-12 03:52:13
asp.net
public void AddItem(string cartID, int bookID, int quantity)
{
// 新建Connection和Command对象
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommand myCommand = new SqlCommand("ShoppingCartAddItem", myConnection);
// 指定命令对象为存储过程
myCommand.CommandType = CommandType.StoredProcedure;
// 为存储过程添加参数信息
SqlParameter parameterBookID = new SqlParameter("@BookID", SqlDbType.Int, 4);
parameterBookID.Value = bookID;
myCommand.Parameters.Add(parameterBookID);
SqlParameter parameterCartID = new SqlParameter("@CartID", SqlDbType.NVarChar, 50);
parameterCartID.Value = cartID;
myCommand.Parameters.Add(parameterCartID);
SqlParameter parameterQuantity = new SqlParameter("@Quantity", SqlDbType.Int, 4);
parameterQuantity.Value = quantity;
myCommand.Parameters.Add(parameterQuantity);
// 打开连接并执行操作
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
}
///
/// 获取购物车图书总数量
///
///
///
public int GetItemCount(string cartID)
{
// 新建Connection和Command对象
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommand myCommand = new SqlCommand("ShoppingCartItemCount", myConnection);
// 指定命令类型为存储过程
myCommand.CommandType = CommandType.StoredProcedure;
SqlParameter parameterCartID = new SqlParameter("@CartID", SqlDbType.NVarChar, 50);
parameterCartID.Value = cartID;
myCommand.Parameters.Add(parameterCartID);
// 添加输出参数
SqlParameter parameterItemCount = new SqlParameter("@ItemCount", SqlDbType.Int, 4);
//指定参数类型为输出参数
parameterItemCount.Direction = ParameterDirection.Output;
myCommand.Parameters.Add(parameterItemCount);
// 打开连接并执行操作
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
// 通过存储过程的输出参数来返回购物车总图书量
return ((int)parameterItemCount.Value);
}
///
/// 根据购物车ID获取购物车信息
///
/// 购物车ID
/// DataReader:购物车具体信息
public SqlDataReader GetItems(string cartID)
{
// 新建Connection和Command实例
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommand myCommand = new SqlCommand("ShoppingCartList", myConnection);
// 指定命令为存储过程
myCommand.CommandType = CommandType.StoredProcedure;
// 添加参数购物车编号到存储过程
SqlParameter parameterCartID = new SqlParameter("@CartID", SqlDbType.NVarChar, 50);
parameterCartID.Value = cartID;
myCommand.Parameters.Add(parameterCartID);
// 打开连接,执行操作
myConnection.Open();
SqlDataReader result = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
// 返回数据读取器
return result;
}
///
/// 获取购物车中图书的总价
///
/// 购物车编号
/// 总价
public decimal GetTotal(string cartID)
{
// 新建Connection和Command对象
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommand myCommand = new SqlCommand("ShoppingCartTotal", myConnection);
// 指定命令类型为存储过程
myCommand.CommandType = CommandType.StoredProcedure;
// 添加参数到存储过程
SqlParameter parameterCartID = new SqlParameter("@CartID", SqlDbType.NVarChar, 50);
parameterCartID.Value = cartID;
myCommand.Parameters.Add(parameterCartID);
//添加输出总价的参数到存储过程
SqlParameter parameterTotalCost = new SqlParameter("@TotalCost", SqlDbType.Money, 8);
parameterTotalCost.Direction = ParameterDirection.Output;
myCommand.Parameters.Add(parameterTotalCost);
// 打开连接,执行操作
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
// 返回结果
if (parameterTotalCost.Value.ToString() != "")
{
return (decimal)parameterTotalCost.Value;
}
else
{
return 0;
}
}
///
/// 合并购物车:用于合并用户登陆前和登陆后的购物车
///
/// 登陆前的购物车ID
/// 登陆后的购物车ID
public void MigrateCart(String oldCartId, String newCartId)
{
// 新建Connection和Command实例
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommand myCommand = new SqlCommand("ShoppingCartMigrate", myConnection);
// 指定操作类型为存储过程
myCommand.CommandType = CommandType.StoredProcedure;
// 添加参数到存储过程
SqlParameter cart1 = new SqlParameter("@OriginalCartId ", SqlDbType.NVarChar, 50);
cart1.Value = oldCartId;
myCommand.Parameters.Add(cart1);
SqlParameter cart2 = new SqlParameter("@NewCartId ", SqlDbType.NVarChar, 50);
cart2.Value = newCartId;
myCommand.Parameters.Add(cart2);
// 打开连接,执行操作
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
}
///
/// 删除购物车中的图书
///
/// 购物车编号
/// 图书编号
public void RemoveItem(string cartID, int bookID)
{
// 新建Connection和Command实例
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommand myCommand = new SqlCommand("ShoppingCartRemoveItem", myConnection);
// 指定操作类型为存储过程
myCommand.CommandType = CommandType.StoredProcedure;
// 添加参数给存储过程
SqlParameter parameterProductID = new SqlParameter("@ProductID", SqlDbType.Int, 4);
parameterProductID.Value = bookID;
myCommand.Parameters.Add(parameterProductID);
SqlParameter parameterCartID = new SqlParameter("@CartID", SqlDbType.NVarChar, 50);
parameterCartID.Value = cartID;
myCommand.Parameters.Add(parameterCartID);
// 打开连接,执行操作
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
}
///
/// 更新购物车中图书信息
///
/// 购物车编号
/// 图书编号
/// 图书数量
public void UpdateItem(string cartID, int productID, int quantity)
{
// 如果输入数量小于0则抛出异常
if (quantity < 0)
{
throw new Exception("Quantity cannot be a negative number");
}
// 新建Connection和Command实例
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommand myCommand = new SqlCommand("ShoppingCartUpdate", myConnection);
// 指定操作为存储过程
myCommand.CommandType = CommandType.StoredProcedure;
// 添加参数给存储过程
SqlParameter parameterProductID = new SqlParameter("@ProductID", SqlDbType.Int, 4);
parameterProductID.Value = productID;
myCommand.Parameters.Add(parameterProductID);
SqlParameter parameterCartID = new SqlParameter("@CartID", SqlDbType.NVarChar, 50);
parameterCartID.Value = cartID;
myCommand.Parameters.Add(parameterCartID);
SqlParameter parameterQuantity = new SqlParameter("@Quantity", SqlDbType.Int, 4);
parameterQuantity.Value = quantity;
myCommand.Parameters.Add(parameterQuantity);
// 打开连接,执行操作
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();