实例介绍
【实例截图】
【核心代码】
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) 盖楼(回复)