您的位置:首页 > 数据库

分层中数据库的简单操作?

2007-08-15 19:01 260 查看



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="Quantity">quantity</param>


/// <param name="UnitCount">单价</param>


/// <param name="ExtendedAmount">总价钱</param>


public void DGUpdateCommand(string ModelNumber,string ModelName,string Quantity,string UnitCost,string ExtendedAmount)




...{


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("@Quantity",SqlDbType.NVarChar,25);


para3.Value = Quantity;


SqlDataAdapter1.SelectCommand.Parameters.Add(para3);




SqlParameter para4 = new SqlParameter("@UnitCost",SqlDbType.NVarChar,25);


para4.Value = UnitCost;


SqlDataAdapter1.SelectCommand.Parameters.Add(para4);




SqlParameter para5 = new SqlParameter("@ExtendedAmount",SqlDbType.NVarChar,25);


para5.Value = ExtendedAmount;


SqlDataAdapter1.SelectCommand.Parameters.Add(para5);




DataSet1 = new DataSet();


SqlDataAdapter1.Fill(DataSet1);
















}


}


}



许久了发出来呵呵

雅琦
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: