using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace ASPNETSZ4
... {
/**//// <summary>
/// Pub 的摘要说明。
/// </summary>
public class Pub
...{
// 数据库公用变量
public SqlConnection SqlConnection1;
public SqlCommand SqlCommand1;
public SqlDataAdapter SqlDataAdapter1;
public SqlDataAdapter SqlDataAdapter2;
public SqlDataReader SqlDataReader1;
public SqlCommandBuilder SqlCommandBuilder1;
public DataSet DataSet1;
public DataTable DataTable1;
public DataRow DataRow1;
// 非数据库公用变量
public string LoginName; // 登录用户
public string SiteName = System.Configuration.ConfigurationSettings.AppSettings["SiteName"]; // 站点名称
public string SiteNav; // 站点导航
public string sTitle = System.Configuration.ConfigurationSettings.AppSettings["SiteName"]; // 站点标题
// 页面导航
public int PageSize = 5; // 每页显示记录数
public int RecordCount, PageCount, CurrentPage;
public Pub()
...{
//
// TODO: 在此处添加构造函数逻辑
//
}
// 0.——————————————————通用操作——————————————————————
public void NavInfo(string sMsg, string sMsgURL, string sMsgTarget)
...{
sTitle = sTitle + " -- " + sMsg;
SiteNav = "<a href=./>" + SiteName +"</a>";
}
// 1.——————————————————数据库操作——————————————————————
/**//// <summary>
/// 连接打开
/// </summary>
public void ConnOpen()
...{
SqlConnection1 = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["Conn"]);
SqlConnection1.Open();
}
/**//// <summary>
/// 连接关闭(之前清除DateSet1中的数据)
/// </summary>
public void ConnClose()
...{
if (DataSet1 != null)
...{
DataSet1.Clear();
}
if (SqlConnection1 != null)
...{
SqlConnection1.Close();
}
}
/**//// <summary>
/// 建立DataSet对象,用记录填充或构架(如果必要)DataSet对象,DataSet即是数据在内存的缓存
/// </summary>
/// <param name="sSQL">打开表Sql语句</param>
public void Fill(string sSQL)
...{
ConnOpen();
SqlDataAdapter1 = new SqlDataAdapter(sSQL, SqlConnection1);
DataSet1 = new DataSet();
SqlDataAdapter1.Fill(DataSet1);
}
/**//// <summary>
/// 引用存储过程构造DataSet
/// </summary>
/// <param name="sp">要引用的存储过程</param>
public void FillDataSet(string sp)
...{
ConnOpen();
SqlDataAdapter1 = new SqlDataAdapter(sp, SqlConnection1);
DataSet1 = new DataSet();
SqlDataAdapter1.Fill(DataSet1);
}
/**//// <summary>
/// 建立DataSet对象,用记录填充或构架(如果必要)DataSet对象,DataSet即是数据在内存的缓存
/// </summary>
/// <param name="TableName">用于表映谢的源表的名称</param>
/// <param name="sql">打开表Sql语句</param>
public void Fill(string TableName,string sql)
...{
ConnOpen();
SqlDataAdapter1 = new SqlDataAdapter(sql, SqlConnection1);
DataSet1 = new DataSet();
SqlDataAdapter1.Fill(DataSet1, TableName);
}
/**//// <summary>
/// 给DataSet对象增加映谢表
/// </summary>
/// <param name="sSQL">SQL语句</param>
public void FillAdd(string sSQL)
...{
SqlDataAdapter1 = new SqlDataAdapter(sSQL, SqlConnection1);
SqlDataAdapter1.Fill(DataSet1);
}
/**//// <summary>
/// 给DataSet对象增加映谢表
/// </summary>
/// <param name="sSQL">SQL语句</param>
public void FillAdd(string TableName, string sSQL)
...{
SqlDataAdapter1 = new SqlDataAdapter(sSQL, SqlConnection1);
SqlDataAdapter1.Fill(DataSet1, TableName);
}
/**//// <summary>
/// 获取最大值
/// </summary>
/// <param name="fID"></param>
/// <param name="TableName"></param>
/// <returns></returns>
public string GetMaxId(string fID, string TableName)
...{
string sKey;
string sSQL="SELECT TOP 1 " + fID + " FROM " + TableName + " ORDER BY " + fID + " DESC";
if (GetRowCount(sSQL) == 0)
...{
sKey="1";
}
else
...{
GetRowRecord(sSQL);
sKey = (int.Parse(DataRow1[fID].ToString()) + 1).ToString(); // 获得数据库表key值
}
return sKey;
}
/**//// <summary>
/// 获得包含在DataSet对象的映谢表集合中的index为0的映谢表
/// </summary>
/// <param name="sSQL">SQL语句</param>
public void GetTable(string sSQL)
...{
Fill(sSQL);
DataTable1 = DataSet1.Tables[0];
}
/**//// <summary>
/// 获得符合该Sql语句的表记录数
/// </summary>
/// <param name="sSQL">SQL语句</param>
/// <returns>返回表记录条数</returns>
public int GetRowCount(string sSQL)
...{
Fill(sSQL);
try
...{
int Count = DataSet1.Tables[0].Rows.Count;
ConnClose();
return Count;
}
catch
...{
ConnClose();
return 0;
}
}
/**//// <summary>
/// 通过传Sql语句关键key值获得表中一行的数据
/// </summary>
/// <param name="sSQL">带关键Key值参数的SQL语句</param>
public void GetRowRecord(string sSQL)
...{
Fill(sSQL);
DataRow1 = DataSet1.Tables[0].Rows[0];
ConnClose();
}
/**//// <summary>
/// 执行Transact-SQL语句,对数据库记录做插入,修改,删除等操作
/// </summary>
/// <param name="sSQL">Transact-SQL语句</param>
public void ExeSql(string sSQL)
...{
ConnOpen();
SqlCommand1 = new SqlCommand(sSQL, SqlConnection1);
SqlCommand1.ExecuteNonQuery();
SqlCommand1.Dispose();
}
// 2.——————————————————绑定控件——————————————————————
/**//// <summary>
/// 绑定DataGrid控件并显示数据
/// </summary>
/// <param name="sSQL">Sql语句</param>
/// <param name="DataGrid1">DataGrid控件id值</param>
public void BindDataGrid(string sSQL, DataGrid DataGrid1)
...{
Fill(sSQL);
DataGrid1.DataSource = DataSet1.Tables[0].DefaultView;
DataGrid1.DataBind();
}
/**//// <summary>
/// 绑定DataList控件并显示数据
/// </summary>
/// <param name="sSQL">Sql语句</param>
/// <param name="DataList1">DataList控件ID值</param>
public void BindDataList(string sSQL, DataList DataList1)
...{
Fill(sSQL);
DataList1.DataSource = DataSet1.Tables[0].DefaultView;
DataList1.DataBind();
}
/**//// <summary>
/// 绑定Repeater控件并显示数
/// </summary>
/// <param name="sSQL">Sql语句</param>
/// <param name="Repeater1">Repeater控件ID值</param>
public void BindRepeater(string sSQL,Repeater Repeater1)
...{
Fill(sSQL);
Repeater1.DataSource = DataSet1.Tables[0].DefaultView;
Repeater1.DataBind();
}
// 3.——————————————————操作业务——————————————————————
/**//// <summary>
/// 返回当前用户的购物车ID
/// </summary>
/// <returns>返回当前用户的购物车ID</returns>
public String GetShoppingCartID()
...{
//当前 HTTP 请求获取 HttpContext 对象。
System.Web.HttpContext Context = System.Web.HttpContext.Current;
//user Id 的分配有二种情况
//1. 如果该用户已经通过验证后登录了系统, 那么以该用户的 CustomerId作为购物车ID
if (Context.User.Identity.Name != "")
...{
return Context.User.Identity.Name;
}
//2. 否则, 如果浏览器Cookie中已经分配给该用户一个购物车ID
//(1)cookies return shoppingCartId (2)set tempCartId of Guid and return this values
if (Context.Request.Cookies["ShoppingCartID"] != null)
...{
return Context.Request.Cookies["ShoppingCartID"].Value;
}
else
...{
// 利用System.Guid Class产生一个随机GUID(全球唯一标识号)
Guid TempCartId = Guid.NewGuid();
// 回写到客户端指定的cookie中
Context.Response.Cookies["ShoppingCartID"].Value = TempCartId.ToString();
// 同时返回 TempCartId
return TempCartId.ToString();
}
}
/**//// <summary>
/// 显示记录列表.最新消息
/// </summary>
/// <returns></returns>
public SqlDataReader spNewsList()
...{
ConnOpen();
SqlCommand1 = new SqlCommand("spNewsList", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlDataReader result = SqlCommand1.ExecuteReader(CommandBehavior.CloseConnection);
return result;
}
/**//// <summary>
/// 用户登录
/// </summary>
/// <param name="sEmail">登录时的电子邮件</param>
/// <param name="sPassword">相应的密码</param>
/// <returns></returns>
public String spCustomersLogin(string sEmail, string sPassword)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("spCustomersLogin", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter Param1 = new SqlParameter("@Email", SqlDbType.VarChar, 100);
SqlParameter Param2 = new SqlParameter("@Password", SqlDbType.VarChar, 50);
SqlParameter Param3 = new SqlParameter("@ID", SqlDbType.Int, 4);
SqlCommand1.Parameters.Add(Param1);
SqlCommand1.Parameters.Add(Param2);
SqlCommand1.Parameters.Add(Param3);
Param1.Value = sEmail;
Param2.Value = sPassword;
//不经常用要注意
Param3.Direction = ParameterDirection.Output;
SqlCommand1.ExecuteNonQuery();
//对于@ID的处理
int ID = (int)(Param3.Value);
if (ID == 0)
return null;
else
return ID.ToString();
}
/**//// <summary>
/// 更新密码
/// </summary>
/// <param name="sEmail">登录时的电子邮件</param>
/// <param name="sPassword">相应的密码</param>
/// <param name="sPasswordNew">新的密码</param>
/// <returns></returns>
public String spCustomersUpdatePassword(string sEmail, string sPassword, string sPasswordNew)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("spCustomersUpdatePassword", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
//set parameters
SqlParameter Param1 = new SqlParameter("@Email", SqlDbType.VarChar, 100);
SqlParameter Param2 = new SqlParameter("@PasswordOld", SqlDbType.VarChar, 50);
SqlParameter Param3 = new SqlParameter("@PasswordNew", SqlDbType.VarChar, 50);
SqlParameter Param4 = new SqlParameter("@Result", SqlDbType.VarChar, 100);
Param1.Value = sEmail;
Param2.Value = sPassword;
Param3.Value = sPasswordNew;
SqlCommand1.Parameters.Add(Param1);
SqlCommand1.Parameters.Add(Param2);
SqlCommand1.Parameters.Add(Param3);
SqlCommand1.Parameters.Add(Param4);
Param4.Direction = ParameterDirection.Output;
SqlCommand1.ExecuteNonQuery();
return Param4.Value.ToString();
}
/**//// <summary>
/// 获取商品列表
/// </summary>
/// <param name="sStr">查询字段值, 如货号或者品名等/按商品分类值</param>
/// <param name="T">true/false: 按指定查询字段值/按商品分类</param>
/// <returns></returns>
public SqlDataReader spProductsSearch(string sStr, bool T)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("spProductsSearch", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter Para1 = new SqlParameter("@Search", SqlDbType.VarChar, 255);
SqlParameter Para2 = new SqlParameter("@SearchType", SqlDbType.Bit, 1);
SqlCommand1.Parameters.Add(Para1);
SqlCommand1.Parameters.Add(Para2);
Para1.Value = sStr;
Para2.Value = T;
SqlDataReader result = SqlCommand1.ExecuteReader(CommandBehavior.CloseConnection);
return result;
}
/**//// <summary>
/// 返回最TOP的几个商品列表
/// </summary>
/// <param name="sTop">限定记录条数</param>
/// <param name="sORDERBY">指定排列字段</param>
/// <param name="sCategoryID">附加有指定商品类别</param>
/// <returns>返回最TOP的几个商品列表</returns>
public SqlDataReader spProductsTop(string Top, string OrderBy, string CategoryID)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("spProductsTop", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter Para1 = new SqlParameter("@Top", SqlDbType.VarChar, 25);
SqlParameter Para2 = new SqlParameter("@OrderBy", SqlDbType.VarChar, 50);
SqlParameter Para3 = new SqlParameter("@CategoryID", SqlDbType.VarChar, 25);
SqlCommand1.Parameters.Add(Para1);
SqlCommand1.Parameters.Add(Para2);
SqlCommand1.Parameters.Add(Para3);
Para1.Value = Top;
Para2.Value = OrderBy;
Para3.Value = CategoryID;
SqlDataReader result = SqlCommand1.ExecuteReader(CommandBehavior.CloseConnection);
return result;
}
/**//// <summary>
/// SqlDataAdapter方式的存储过程.列表.商品.所有.指定OrderBy
/// </summary>
/// <param name="OrderBy">指定OrderBy</param>
public void spProductsAllOrderBy(string OrderBy)
...{
ConnOpen();
SqlDataAdapter1 = new SqlDataAdapter("spProductsTop", SqlConnection1);
SqlDataAdapter1.SelectCommand.CommandType = CommandType.StoredProcedure;
SqlParameter Para1 = new SqlParameter("@Top", SqlDbType.VarChar, 25);
SqlParameter Para2 = new SqlParameter("@OrderBy", SqlDbType.VarChar, 50);
SqlParameter Para3 = new SqlParameter("@CategoryID", SqlDbType.VarChar, 25);
SqlDataAdapter1.SelectCommand.Parameters.Add(Para1);
SqlDataAdapter1.SelectCommand.Parameters.Add(Para2);
SqlDataAdapter1.SelectCommand.Parameters.Add(Para3);
Para1.Value = "100 PERCENT";
Para2.Value = OrderBy;
Para3.Value = "-100";
DataSet1 = new DataSet();
SqlDataAdapter1.Fill(DataSet1);
}
/**//// <summary>
///
/// </summary>
/// <param name="Name">用户名</param>
/// <param name="Password1">密码</param>
/// <param name="Email">邮件</param>
/// <param name="phone">手机</param>
/// <param name="Oicq">QQ</param>
/// <param name="Code">邮政编码</param>
///
public void spCustomersRegister(string Name, string Password, string Email, string phone, string Oicq, string Code)
...{
ConnOpen();
SqlDataAdapter1 = new SqlDataAdapter("spCustomersRegister", SqlConnection1);
SqlDataAdapter1.SelectCommand.CommandType = CommandType.StoredProcedure;
SqlParameter para1 = new SqlParameter("@Name", SqlDbType.NVarChar, 50);
para1.Value = Name;
SqlDataAdapter1.SelectCommand.Parameters.Add(para1);
SqlParameter para2 = new SqlParameter("@password", SqlDbType.NVarChar, 50);
para2.Value = Password;
SqlDataAdapter1.SelectCommand.Parameters.Add(para2);
SqlParameter para3 = new SqlParameter("@Email", SqlDbType.NVarChar, 50);
para3.Value = Email;
SqlDataAdapter1.SelectCommand.Parameters.Add(para3);
SqlParameter para4 = new SqlParameter("@phone", SqlDbType.NVarChar, 50);
para4.Value = phone;
SqlDataAdapter1.SelectCommand.Parameters.Add(para4);
SqlParameter para5 = new SqlParameter("@oicq", SqlDbType.NVarChar, 50);
para5.Value = Oicq;
SqlDataAdapter1.SelectCommand.Parameters.Add(para5);
SqlParameter para6 = new SqlParameter("@Code", SqlDbType.NVarChar, 50);
para6.Value = Code;
SqlDataAdapter1.SelectCommand.Parameters.Add(para6);
DataSet1 = new DataSet();
SqlDataAdapter1.Fill(DataSet1);
}
/**//// <summary>
/// 返回最TOP的几个链接列表
/// </summary>
/// <param name="sTop">限定记录条数</param>
/// <param name="sORDERBY">指定排列字段</param>
/// <returns>返回最TOP的几个链接列表</returns>
public SqlDataReader spCustomersTop(string sTop, string sORDERBY)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("spCustomersTop", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter Para1 = new SqlParameter("@Top", SqlDbType.VarChar, 25);
SqlParameter Para2 = new SqlParameter("@ORDERBY", SqlDbType.VarChar, 50);
SqlCommand1.Parameters.Add(Para1);
SqlCommand1.Parameters.Add(Para2);
Para1.Value = sTop;
Para2.Value = sORDERBY;
SqlDataReader result = SqlCommand1.ExecuteReader(CommandBehavior.CloseConnection);
return result;
}
/**//// <summary>
/// 获取指定商品ID的明细
/// </summary>
/// <param name="ProductID">要查看的商品ID</param>
/// <returns>返回明细</returns>
public SqlDataReader spProductDetail(int ProductID)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("spProductDetail", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter Para1 = new SqlParameter("@ProductID", SqlDbType.Int, 4);
SqlCommand1.Parameters.Add(Para1);
Para1.Value = ProductID;
SqlDataReader result = SqlCommand1.ExecuteReader(CommandBehavior.CloseConnection);
return result;
}
/**//// <summary>
/// 获取商品列表.按指定字段类型
/// </summary>
/// <param name="sFieldName">字段类型</param>
/// <returns></returns>
public SqlDataReader GetProductsOrderBy(string sFieldName)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("GetProductsOrderBy", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter Param1 = new SqlParameter("@FieldName", SqlDbType.VarChar, 255);
SqlCommand1.Parameters.Add(Param1);
Param1.Value = sFieldName;
SqlDataReader result = SqlCommand1.ExecuteReader(CommandBehavior.CloseConnection);
return result;
}
/**//// <summary>
/// 显示指定购物车ID的记录
///
///web----dataColumn----SqldataReader
/// </summary>
/// <param name="sCartID">购物车ID</param>
/// <returns></returns>
public SqlDataReader spShoppingCartList(string sCartID)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("spShoppingCartList", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter Param1 = new SqlParameter("@CartID", SqlDbType.VarChar, 50);
SqlCommand1.Parameters.Add(Param1);
Param1.Value = sCartID;
SqlDataReader result = SqlCommand1.ExecuteReader(CommandBehavior.CloseConnection);
return result;
}
/**//// <summary>
/// 获取指定购物车ID的总金额
/// </summary>
/// <param name="sCartID">购物车ID</param>
/// <returns>总金额</returns>
public decimal spShoppingCartTotal(string sCartID)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("spShoppingCartTotal", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter Param1 = new SqlParameter("@CartID", SqlDbType.VarChar, 50);
SqlParameter Param2 = new SqlParameter("@TotalCost", SqlDbType.Money, 8);
SqlCommand1.Parameters.Add(Param1);
SqlCommand1.Parameters.Add(Param2);
Param1.Value = sCartID;
Param2.Direction = ParameterDirection.Output;
SqlCommand1.ExecuteNonQuery();
//必须对PARA2进行判断说明
if (Param2.Value.ToString() != "")
...{
return (decimal)Param2.Value;
}
else
...{
return 0;
}
}
/**//// <summary>
/// 把当前商品加入指定的购物车里
/// </summary>
/// <param name="sCartID">购物车ID</param>
/// <param name="iProductID">商品ID</param>
/// <param name="iQuantity">商品数量</param>
public void spShoppingCartAddItem(string sCartID, int iProductID, int iQuantity)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("spShoppingCartAddItem", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter Param1 = new SqlParameter("@ProductID", SqlDbType.Int, 4);
SqlParameter Param2 = new SqlParameter("@CartID", SqlDbType.VarChar, 50);
SqlParameter Param3 = new SqlParameter("@Quantity", SqlDbType.Int, 4);
SqlCommand1.Parameters.Add(Param1);
SqlCommand1.Parameters.Add(Param2);
SqlCommand1.Parameters.Add(Param3);
Param1.Value = iProductID;
Param2.Value = sCartID;
Param3.Value = iQuantity;
SqlCommand1.ExecuteNonQuery();
}
/**//// <summary>
/// 购物车.更新数量
/// </summary>
/// <param name="sCartID">指定购物车ID</param>
/// <param name="iProductID">指定商品ID</param>
/// <param name="iQuantity">要更新的数量</param>
public void spShoppingCartUpdateQty(string sCartID, int iProductID, int iQuantity)
...{
if (iQuantity < 0)
...{
throw new Exception("系统提示: 数量不能小于 0, 请检查各项输入是否一些正确");
}
ConnOpen();
SqlCommand1 = new SqlCommand("pShoppingCartUpdateQty", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter Param1 = new SqlParameter("@CartID", SqlDbType.VarChar, 50);
SqlParameter Param2 = new SqlParameter("@ProductID", SqlDbType.Int, 4);
SqlParameter Param3 = new SqlParameter("@Quantity", SqlDbType.Int, 4);
SqlCommand1.Parameters.Add(Param1);
SqlCommand1.Parameters.Add(Param2);
SqlCommand1.Parameters.Add(Param3);
Param2.Value = iProductID;
Param1.Value = sCartID;
Param3.Value = iQuantity;
SqlCommand1.ExecuteNonQuery();
}
/**//// <summary>
/// 购物车.删除所选项
/// </summary>
/// <param name="sCartID">指定购物车ID</param>
/// <param name="iProductID">指定商品ID</param>
public void spShoppingCartRemoveItem(string sCartID, int iProductID)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("spShoppingCartRemoveItem", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter Param1 = new SqlParameter("@CartID", SqlDbType.VarChar, 50);
SqlParameter Param2 = new SqlParameter("@ProductID", SqlDbType.Int, 4);
SqlCommand1.Parameters.Add(Param1);
SqlCommand1.Parameters.Add(Param2);
Param1.Value = sCartID;
Param2.Value = iProductID;
SqlCommand1.ExecuteNonQuery();
}
/**//// <summary>
/// 将购物车确认为订单
/// </summary>
/// <param name="iCustomerID">指定客户ID</param>
/// <param name="sCartID">指定购物车ID</param>
/// <param name="sMemo">加入备注说明</param>
/// <returns>返回所生成的订单ID给客户</returns>
public int spOrdersInsert(int iCustomerID, string sCartID, string sMemo)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("spOrdersInsert", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter Param1 = new SqlParameter("@CartID", SqlDbType.VarChar, 50);
SqlParameter Param2 = new SqlParameter("@CustomerID", SqlDbType.Int, 4);
SqlParameter Param3 = new SqlParameter("@Memo", SqlDbType.VarChar, 2000);
SqlParameter Param4 = new SqlParameter("@OrderID", SqlDbType.Int, 4);
SqlCommand1.Parameters.Add(Param1);
SqlCommand1.Parameters.Add(Param2);
SqlCommand1.Parameters.Add(Param3);
SqlCommand1.Parameters.Add(Param4);
Param1.Value = sCartID;
Param2.Value = iCustomerID;
Param3.Value = sMemo;
//注意
Param4.Direction = ParameterDirection.Output;
SqlCommand1.ExecuteNonQuery();
return (int)Param4.Value;
}
/**//// <summary>
/// 作用: 从一个购物车中转到另一个购物车中
/// 情形: 应用于在登录或者注册过程完成后, 将临时购物车转到该用户的购物车中.
/// </summary>
/// <param name="sOldCartId">原来的购物车ID</param>
/// <param name="sNewCartId">现在的购物车ID</param>
public void spShoppingCartMigrate(String sOldCartId, String sNewCartId)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("spShoppingCartMigrate", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter Param1 = new SqlParameter("@OldCartId ", SqlDbType.VarChar, 50);
SqlParameter Param2 = new SqlParameter("@NewCartId ", SqlDbType.VarChar, 50);
SqlCommand1.Parameters.Add(Param1);
SqlCommand1.Parameters.Add(Param2);
Param1.Value = sOldCartId;
Param2.Value = sNewCartId;
SqlCommand1.ExecuteNonQuery();
}
/**//// <summary>
/// 清空购物车
/// </summary>
/// <param name="sCartID"></param>
public void EmptyCart(string sCartID)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("ShoppingCartEmpty", SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter Param1 = new SqlParameter("@CartID", SqlDbType.VarChar, 50);
SqlCommand1.Parameters.Add(Param1);
Param1.Value = sCartID;
SqlCommand1.ExecuteNonQuery();
}
// 4.-----------------------其他实用过程/函数---------------------------
/**//// <summary>
/// 检查今天昨天前天及以前的天
/// </summary>
/// <param name="dt">要检查的表</param>
/// <returns>返回检查结果</returns>
/// <example><%# CheckDate((DateTime)DataBinder.Eval(Container.DataItem,"DateTimes").ToString(yyyyMMdd)) %></example>
public string CheckDate(DateTime dt)
...{
string sStr;
DateTime Today;
Today = DateTime.Today;
if( dt.Date == Today )
sStr = "今天";
else if( dt.AddDays(1).Date == Today )
sStr = "昨天";
else if( dt.AddDays(2).Date == Today )
sStr = "前天";
else sStr = dt.Year.ToString() + "年" + dt.Month.ToString() + "月" + dt.Day.ToString() + "日";
sStr += " " + dt.Hour.ToString() + ":" + dt.Minute.ToString();
return sStr;
}
/**//// <summary>
/// 截取指定长度的子字符串
/// </summary>
/// <param name="sStr">需要截取的字符串</param>
/// <param name="Len">目标长度</param>
/// <returns>返回截取后的字符串</returns>
/// <example><%# GetSubString(DataBinder.Eval(Container.DataItem,"Memo").ToString()) %></example>
public string GetSubString(string sStr, int Len)
...{
if (sStr.Length > Len)
...{
return sStr.Substring(0, Len) + "...";
}
else
...{
return sStr;
}
}
//-------------------------------------------操作业务层2------------------------------------------
//------------------------------------------------------------------------------------------------
public void DGDeleteCommand(int ProductId)
...{
ConnOpen();
SqlCommand1 = new SqlCommand("spDeleteCommand",SqlConnection1);
SqlCommand1.CommandType = CommandType.StoredProcedure;
SqlParameter para = new SqlParameter("@ProductId",SqlDbType.Int);
para.Value = ProductId;
SqlCommand1.Parameters.Add(para);
SqlCommand1.ExecuteNonQuery();
}
/**//// <summary>
///
/// </summary>
/// <param name="ModelNumber">规格型号</param>
/// <param name="ModelName">productName</param>
/// <param name="UnitCount">单价</param>
public void DGUpdateCommand(string ModelNumber,string ModelName,string UnitCost)
...{
ConnOpen();
SqlDataAdapter1 = new SqlDataAdapter("spDGUpdateCommand",SqlConnection1);//create database connection
SqlDataAdapter1.SelectCommand.CommandType = CommandType.StoredProcedure;//execute procedure
SqlParameter modelNumber = new SqlParameter("@ModelNumber",SqlDbType.NVarChar,25);
modelNumber.Value = ModelNumber;
SqlDataAdapter1.SelectCommand.Parameters.Add(modelNumber);//add prarmeters to command's
SqlParameter para2 = new SqlParameter("@ModelName",SqlDbType.NVarChar,25);
para2.Value = ModelName;
SqlDataAdapter1.SelectCommand.Parameters.Add(para2);
SqlParameter para3 = new SqlParameter("@UnitCost",SqlDbType.NVarChar,25);
para3.Value = UnitCost;
SqlDataAdapter1.SelectCommand.Parameters.Add(para3);
DataSet1 = new DataSet();
SqlDataAdapter1.Fill(DataSet1);
}
}
}