📄 stock_return.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Text;
using LoginCheckClass;
public partial class 进货管理_Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//对页面进行Session验证,防止非法用户直接通过URL进行登录
LoginCheck a = new LoginCheck();
a.check();
//通过Session获取用户名
this.lable1.Text = Convert.ToString(Session ["username"]);
//注册onchange事件
Pirce.Attributes["onchange"] = Number.Attributes["onchange"]=Label1.Attributes["onchange"] = "javascript:getPrice();";
Payment.Attributes["onchange"] = FactPayment.Attributes["onchange"] = "javascript:getPrice1();";
}
//点击添加按钮,把页面中的内容添加至数据库db_Sell中的tb_Stock表
protected void AddButton_Click(object sender, EventArgs e)
{
string _connectString = ConfigurationManager.ConnectionStrings["db_sellConnectionString"].ConnectionString;
try
{
using (SqlConnection connection = new SqlConnection(_connectString))
{
connection.Open(); //打开连接
using (SqlCommand command = connection.CreateCommand())
{
command.CommandType = CommandType.Text;
//获取参数
command.Parameters.Add("@CommodityID", SqlDbType.Int).Value = int.Parse(CommodityName.Text);
command.Parameters.Add("@CompanyID", SqlDbType.Int).Value = Session["CompanyID"].ToString();//old
command.Parameters.Add("@Pirce", SqlDbType.Int).Value = Pirce.Text;
command.Parameters.Add("@Number", SqlDbType.Int).Value = Number.Text;
command.Parameters.Add("@SettlementType", SqlDbType.VarChar, 50).Value = SettlementType.Text;
command.Parameters.Add("@Payment", SqlDbType.Int).Value = Request["Payment"];
command.Parameters.Add("@FactPayment", SqlDbType.Int).Value = FactPayment.Text;
command.Parameters.Add("@NoPayment", SqlDbType.Int).Value = Request["NoPayment"];
command.Parameters.Add("@StockDate", SqlDbType.DateTime).Value = StockDate.Text ;
command.Parameters.Add("@ManageMan", SqlDbType.VarChar, 50).Value = ManageMan.Text;
command.Parameters.Add("@UserName", SqlDbType.VarChar, 50).Value =Session["UserName"];
command.Parameters.Add("@AddTime", SqlDbType.DateTime).Value = DateTime.Now;
command.Parameters.Add("@Type", SqlDbType.VarChar, 50).Value = "退货";
//用SQL语句将所以参数添加至数据库
command.CommandText = "Insert into tb_Stock(CommodityID,CompanyID,Pirce,Number,SettlementType,Payment,FactPayment,NoPayment,StockDate,ManageMan,UserName,AddTime,Type)Values(@CommodityID,@CompanyID,@Pirce,@Number,@SettlementType,@Payment,@FactPayment,@NoPayment,@StockDate,@ManageMan,@UserName,@AddTime,@Type)";
command.ExecuteNonQuery();
Response.Write(@"<script>alert('添加成功');</script>"); //提示添加成功
// 添加成功时清空各个TextBox内容
getNumber();
Pirce.Text="";
Payment.Text="";
FactPayment.Text="";
NoPayment.Text="";
ManageMan.Text="";
}
}
}
//如果出现异常,提示系统错误
catch (Exception ex)
{
Response.Write(@"<script>alert('系统错误');</script>");
}
}
//实现商品名称与数据库的绑定
protected void CommodityName_SelectedIndexChanged(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["db_sellConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand();
string id = CommodityName.SelectedValue;
cmd.CommandText = "SELECT tb_Company.id,tb_Company.CompanyName FROM tb_Commodity INNER JOIN tb_Company ON tb_Commodity.CompanyID = tb_Company.id WHERE tb_Commodity.id =" + id;
cmd.Connection = con;
con.Open();
//读取从数据库中查询处理的第一行第一列的值
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
CompanyID.Text = reader["CompanyName"].ToString();
Session["CompanyID"] = reader["id"].ToString();
}
getNumber(); //调用getNumber()方法
}
//商品名称对应的控件数据绑定事件,改变商品名称显示与之对应的供应商名称
protected void CommodityName_DataBound(object sender, EventArgs e)
{
CommodityName_SelectedIndexChanged(sender, e);
}
//getNumber()方法
private void getNumber()
{
using (SqlConnection conn = new SqlConnection(_connectString))
{
conn.Open();
using (SqlCommand command = new SqlCommand())
{
command.Connection = conn;
//从数据库中查询所需要的商品销售总数量
command.Parameters.Add("@type1", SqlDbType.VarChar, 50).Value = "销售信息";
command.Parameters.Add("@id", SqlDbType.Int).Value =int.Parse( CommodityName.SelectedValue);
command.CommandText = "select isnull(sum(Number),0) from tb_Stock where Type=@type1 and CommodityID=@id"; //使用sum函数
int saleNumber = Convert.ToInt32(command.ExecuteScalar()); //获取返回值的第一行第一列
//从数据库中查询所需要的商品销售退货的总数量
command.Parameters.Add("@type2", SqlDbType.VarChar, 50).Value = "销售退货";
command.CommandText = "select isnull(sum(Number),0) from tb_Stock where Type=@type2 and CommodityID=@id";
int returnNumber = Convert.ToInt32(command.ExecuteScalar());
//从数据库中查询所需要的商品退货的总数量
command.Parameters.Add("@type3", SqlDbType.VarChar, 50).Value = "退货";
command.CommandText = "select isnull(sum(Number),0) from tb_Stock where Type=@type3 and CommodityID=@id";
int sReturnNumber = Convert.ToInt32(command.ExecuteScalar());
//从数据库中查询所需要的商品进货的总数量
command.Parameters.Add("@type4", SqlDbType.VarChar, 50).Value = "进货";
command.CommandText = "select isnull(sum(Number),0) from tb_Stock where Type=@type4 and CommodityID=@id";
int StockNum = (int)command.ExecuteScalar();
//最大销售退货数量=进货数量-退货数量-销售数量+销售退货数量
int num = StockNum - sReturnNumber - saleNumber + returnNumber;
Number.Text = Convert.ToString(num);
Session["number"] = num;
Label1.Text = Convert.ToString(num);//Label1也获取了number,Label1是实现功能的中介控件,用来与添加的数量进行比较
}
}
}
private static readonly string _connectString = System.Configuration.ConfigurationManager.ConnectionStrings["db_sellConnectionString"].ConnectionString;
protected void Pirce_TextChanged(object sender, EventArgs e)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -