实例介绍
【实例截图】
【核心代码】
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using FreeTextBoxControls; using FreeTextBoxControls.Design; using System.Text; using System.IO; namespace person.admin { /// <summary> /// add_tzs 的摘要说明。 /// </summary> /// public partial class add_tzs : System.Web.UI.Page { public string newid; public DataRow dr; public string sjs; //留言 public string sjslog; //修改纪录 protected void Page_Load(object sender, System.EventArgs e) { if (!this.IsPostBack) { SqlConnection con = DB.createConn(); newid = Request.Params["id"]; Session["newid"] = newid; string sql = "SELECT 商品名称, 所属大类, id FROM 商品 order by 所属大类"; SqlDataAdapter sda1 = new SqlDataAdapter(sql, con); DataSet ds1 = new DataSet(); sda1.Fill(ds1, "商品"); foreach (DataRow row in ds1.Tables[0].Rows) { this.DP1.Items.Add((row["id"].ToString() "-" row["所属大类"].ToString() "-" row["商品名称"].ToString())); } cmdFk.Visible = false; if (newid != null) { con.Open(); SqlDataAdapter sda = new SqlDataAdapter("select * from view1 where id=" newid, con); DataSet ds = new DataSet(); sda.Fill(ds, "view1"); dr = ds.Tables["view1"].Rows[0]; txtFen.Text = dr["count"].ToString(); this.dpName.Items.Add((dr["UserID"].ToString() "-" dr["UserName"].ToString())); for (int i = 0; i < DP1.Items.Count; i ) { if ((string)DP1.Items[i].Text.Split('-')[0] == (dr["subjectid"].ToString())) { DP1.Items[i].Selected = true; } } this.btnew.Text = "输入退货后的购买数量!"; Label1.Text = "完成用户退货商品的动作,修改后,为用户重新的购买数量,多余的商品将被退回!"; cmdFk.Visible = true; } else { sql = "SELECT UserID, UserName FROM tblUser "; SqlDataAdapter sda2 = new SqlDataAdapter(sql, con); DataSet ds2 = new DataSet(); sda2.Fill(ds2, "tblUser"); foreach (DataRow row in ds2.Tables[0].Rows) { this.dpName.Items.Add((row["UserID"].ToString() "-" row["UserName"].ToString())); } } } } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { } #endregion protected void btnew_Click(object sender, System.EventArgs e) { this.addnew(); } private void addnew() { SqlConnection con = DB.createConn(); con.Open(); string sql; string SubjectID; string[] UserID = dpName.Text.Split('-'); string Fen = txtFen.Text; string[] zw = this.DP1.Text.Split('-'); SubjectID = zw[0]; if (CheckCount(SubjectID, txtFen.Text) != true) { Response.End(); } if (btnew.Text != "输入退货后的购买数量!") { sql = "Insert into tblDeail (SubjectID,UserID,Count) values ( '" SubjectID "', '" UserID[0] "', '" txtFen.Text "')"; ExeSql(sql);//执行插入动作 ExeSql("Update 商品 set 库存数=库存数-" txtFen.Text " where id=" SubjectID); //库存减少对应的 数量 string sRate = GetSql("select 积分率 from tbluser where userid=" UserID[0], "tbluser", "积分率"); //获得用户对应的积分比率 string sPrice = GetSql("select 价格 from 商品 where id=" SubjectID, "商品", "价格"); //获得商品的价格 ExeSql("Update tbluser set 积分=积分 " Convert.ToSingle(txtFen.Text) * Convert.ToSingle(sPrice) * Convert.ToSingle(sRate) " where userid=" UserID[0]); //用户加入对应积分 } else { sql = "Update tblDeail set SubjectID='" SubjectID "',UserID='" UserID[0] "',Count='" txtFen.Text "' where id=" Session["newid"]; Label1.Text = "完成用户退货商品的动作,修改后,为用户重新的购买数量,多余的商品将被退回!"; string sCount = GetSql("select Count from tblDeail where id=" Session["newid"], "tblDeail", "Count"); //获得更新前的数量 string sPrice = GetSql("select 价格 from 商品 where id=" SubjectID, "商品", "价格"); //获得商品的价格 ExeSql(sql); string 积分 = GetSql("select 积分 from tbluser where userid=" UserID[0], "tbluser", "积分"); //获得更前的积分 sCount = Convert.ToString(Convert.ToInt16(txtFen.Text) - Convert.ToInt16(sCount)); if (Convert.ToInt16(sCount) < 0) {//小于0时 为退库 ExeSql("Update 商品 set 库存数=库存数-(" sCount ")where id=" SubjectID); ExeSql("Insert into tblFeedback (SubjectID,UserID,Count) values ( '" SubjectID "', '" UserID[0] "', -(" sCount "))"); //更新退货表 } else { ExeSql("Update 商品 set 库存数=库存数-" Convert.ToInt16(sCount) " where id=" SubjectID); } //库存减少对应的 数量 string sRate = GetSql("select 积分率 from tbluser where userid=" UserID[0], "tbluser", "积分率"); //获得用户对应的积分比率 ExeSql("Update tbluser set 积分=积分 (" (Convert.ToSingle(sCount) * Convert.ToSingle(sPrice) * Convert.ToSingle(sRate)) ") where userid=" UserID[0]); //新的积减去 原来的 } Response.Write("<script>alert('购买成功!');location.href='editnews.aspx';</script>"); } protected void cmdFk_Click(object sender, EventArgs e) { SqlConnection con = DB.createConn(); con.Open(); string sql; string SubjectID; string[] UserID = dpName.Text.Split('-'); string Fen = txtFen.Text; string[] zw = this.DP1.Text.Split('-'); SubjectID = zw[0]; if (CheckCount(SubjectID, txtFen.Text) != true) { Response.End(); } sql = "Update tblDeail set SubjectID='" SubjectID "',UserID='" UserID[0] "',Count='" txtFen.Text "' where id=" Session["newid"]; string sCount = GetSql("select Count from tblDeail where id=" Session["newid"], "tblDeail", "Count"); //获得更新前的数量 string sPrice = GetSql("select 价格 from 商品 where id=" SubjectID, "商品", "价格"); //获得商品的价格 ExeSql(sql); string 积分 = GetSql("select 积分 from tbluser where userid=" UserID[0], "tbluser", "积分"); //获得更前的积分 ExeSql("Update 商品 set 库存数=库存数 " sCount " where id=" SubjectID); //库存 数量 ExeSql("Insert into tblFeedback (SubjectID,UserID,Count) values ( '" SubjectID "', '" UserID[0] "', '" sCount "')"); //更新退货表 sCount = "-" sCount; string sRate = GetSql("select 积分率 from tbluser where userid=" UserID[0], "tbluser", "积分率"); //获得用户对应的积分比率 ExeSql("Update tbluser set 积分=积分 (" (Convert.ToSingle(sCount) * Convert.ToSingle(sPrice) * Convert.ToSingle(sRate)) ") where userid=" UserID[0]); //新的积减去 原来的 ExeSql("Delete from tblDeail where id=" Session["newid"]); //删除购买的记录 Response.Write("<script>alert('退货成功!');location.href='editnews.aspx';</script>"); } private bool CheckCount(string SubjectId, string iCount) {//判断对应的产品数目是否小于库存 SqlConnection con = DB.createConn(); con.Open(); SqlDataAdapter sda = new SqlDataAdapter("SELECT 库存数 FROM 商品 where id=" SubjectId, con); DataSet ds = new DataSet(); sda.Fill(ds, "view1"); dr = ds.Tables["view1"].Rows[0]; if (Convert.ToInt16(dr["库存数"].ToString()) < Convert.ToInt16(iCount)) { Response.Write("<script>alert('购买 失败! 库存只有" dr["库存数"].ToString() "');history.go(-1);</script>"); return false; } else { return true; } } //----------------------------------执行SQL语句 private void ExeSql(string str1) { SqlConnection con = DB.createConn(); con.Open(); SqlCommand cmd = new SqlCommand(str1, con); cmd.ExecuteNonQuery(); } //----------------------------------执行SQL语句 返回对应的第一个参数 private string GetSql(string strSql, string strTableName, string strField) { SqlConnection con = DB.createConn(); DataRow dr; con.Open(); SqlDataAdapter sda = new SqlDataAdapter(strSql, con); DataSet ds = new DataSet(); sda.Fill(ds, strTableName); dr = ds.Tables[strTableName].Rows[0]; return dr[strField].ToString(); } } }
标签: 管理
相关软件
网友评论
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
支持(0) 盖楼(回复)
支持(0) 盖楼(回复)