📄 stock_search.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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.Text;
using LoginCheckClass; //(类)验证用户是否登录
/// <summary>
/// 2008年7月23日 谈鸿如 编写
/// 2008年7月23日 测试
/// 用于实现商品进货查询及进货退货查询
/// </summary>
public partial class 查询统计_Default : System.Web.UI.Page
{
//页面加载时运行
protected void Page_Load(object sender, EventArgs e)
{
//调用LoginCheck类的check方法来判断用户是否登录
LoginCheck a = new LoginCheck();
a.check();
/*通过Type值判断用户点击的是商品进货查询还是进货退货查询
type为 1 时代表进货信息查询
type为 2 时代表进货退货查询
对于不同的type值,在SqlDataSource1中绑定不同的Sql语句*/
if (!IsPostBack)
{
if (Request["type"] == "1")
{
Label1.Text = "进货";
Label2.Text = "查询统计→进货信息查询";
SqlDataSource1.SelectCommand = "SELECT dbo.tb_Company.CompanyName, dbo.tb_Commodity.CommodityName, dbo.tb_Stock.id, dbo.tb_Stock.Number, dbo.tb_Stock.ManageMan, dbo.tb_Stock.StockDate FROM dbo.tb_Company INNER JOIN dbo.tb_Commodity ON dbo.tb_Company.id = dbo.tb_Commodity.CompanyID INNER JOIN dbo.tb_Stock ON dbo.tb_Commodity.id = dbo.tb_Stock.CommodityID WHERE Type='进货'";
}
if (Request["type"] == "2")
{
Label1.Text = "退货";
Label2.Text = "查询统计→进货退货查询";
SqlDataSource1.SelectCommand = "SELECT dbo.tb_Company.CompanyName, dbo.tb_Commodity.CommodityName, dbo.tb_Stock.id, dbo.tb_Stock.Number, dbo.tb_Stock.ManageMan, dbo.tb_Stock.StockDate FROM dbo.tb_Company INNER JOIN dbo.tb_Commodity ON dbo.tb_Company.id = dbo.tb_Commodity.CompanyID INNER JOIN dbo.tb_Stock ON dbo.tb_Commodity.id = dbo.tb_Stock.CommodityID WHERE Type='退货'";
}
}
}
/*判断用户使用哪些筛选信息
当CheckBox选中后,令其后的文本输入框可用,若没选中,则不可用*/
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox1.Checked == true) //判断供应商是否选中
{
CompanyID.Enabled = true;
}
else
{
CompanyID.Enabled = false;
}
}
protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox2.Checked == true) //判断商品名称是否选中
{
CommodityName.Enabled = true;
}
else
{
CommodityName.Enabled = false;
}
}
protected void CheckBox3_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox3.Checked == true) //判断经手人是否选中
{
ManageMan.Enabled = true;
}
else
{
ManageMan.Enabled = false;
}
}
//使用db_sellConnectionString连接字符串
private static readonly string _connectString = System.Configuration.ConfigurationManager.ConnectionStrings["db_sellConnectionString"].ConnectionString;
//点击选择按钮时触发以下信息
protected void btnselect_Click(object sender, EventArgs e)
{
select(); //调用select方法
GridView1.DataBind(); //刷新GridView
if (GridView1.Rows.Count == 0) //若无查询结果返回信息
{
Response.Write("<script>alert('没有您所要查询的内容');</script>");
}
else
{
this.GridView1.DataBind(); //若有选出信息,则绑定到GridView中
}
}
static void order(StringBuilder sc) //拼接查询中order子句的方法
{
//若sc字符串(order子句)长度为0则在sc字符串中添加“ORDER BY”,若长度不为0则添加“,”
if (sc.Length == 0)
{
sc.Append(" ORDER BY ");
}
else
{
sc.Append(" , ");
}
}
//选择方法,使用拼接字符串技术,有sb,sc两个字符串,分别实现WHERE子句和ORDER子句
void select()
{
StringBuilder sb = new StringBuilder();
StringBuilder sc =new StringBuilder();
SqlConnection conn = new SqlConnection();
SqlCommand cmd = conn.CreateCommand();
if (this.CheckBox1.Checked==true) //如果选中供应商则按下面方法拼接字符串
{
sb.Append(" AND dbo.tb_Company.CompanyName LIKE '%" + CompanyID.Text + "%' "); //模糊查询与CompanyID字段相匹配的信息
order(sc); //调用order方法拼接sc字符串
sc.Append(" dbo.tb_Company.CompanyName "); //添加order子句
}
if (this.CheckBox2.Checked == true) //如果选中商品名称则按下面方法拼接字符串
{
//模糊查询与CommodityName字段相匹配的信息
sb.Append(" AND dbo.tb_Commodity.CommodityName LIKE '%" + CommodityName.Text + "%'");
//调用order方法拼接sc字符串
order(sc);
//添加order子句
sc.Append(" dbo.tb_Commodity.CommodityName ");
}
if (this.CheckBox3.Checked == true) //如果选中经手人则按下面方法拼接字符串
{
//模糊查询与ManageMan字段相匹配的信息
sb.Append(" AND dbo.tb_Stock.ManageMan LIKE '%" + ManageMan.Text + "%'");
//调用order方法拼接sc字符串
order(sc);
//添加order子句
sc.Append(" dbo.tb_Stock.ManageMan ");
}
if (this.CheckBox4.Checked == true) //如果选中查询时间则按下面方法拼接字符串
{
//在where子句中添加时间判断,筛选介于起始日期和终止日期之间的信息
sb.Append(" AND dbo.tb_Stock.StockDate between '" + Convert.ToDateTime( DaintyDate1.Text) + "' and '" + Convert.ToDateTime( DaintyDate2.Text)+ "'");
}
//原始SQL字符串,筛选出所需要显示的信息字段
string s = "SELECT dbo.tb_Company.CompanyName, dbo.tb_Commodity.CommodityName, dbo.tb_Stock.id, dbo.tb_Stock.Number, dbo.tb_Stock.ManageMan, dbo.tb_Stock.StockDate FROM dbo.tb_Company INNER JOIN dbo.tb_Commodity ON dbo.tb_Company.id = dbo.tb_Commodity.CompanyID INNER JOIN dbo.tb_Stock ON dbo.tb_Commodity.id = dbo.tb_Stock.CommodityID WHERE Type='"+Label1.Text+"' " + sb.ToString() +sc.ToString();
//将SqlDataSource1的sql语句绑定为上面拼接出的sql语句
this.SqlDataSource1.SelectCommand = s;
}
//点击返回按钮后触发此事件
protected void btnback_Click(object sender, EventArgs e)
{
/*通过Type值判断用户所处的是商品进货查询还是进货退货查询页面
type为 1 时代表进货信息查询
type为 2 时代表进货退货查询
对于不同的type值,在SqlDataSource1中绑定不同的Sql语句*/
if (Request["type"] == "1")
{
Label1.Text = "进货";
SqlDataSource1.SelectCommand = "SELECT dbo.tb_Company.CompanyName, dbo.tb_Commodity.CommodityName, dbo.tb_Stock.id, dbo.tb_Stock.Number, dbo.tb_Stock.ManageMan, dbo.tb_Stock.StockDate FROM dbo.tb_Company INNER JOIN dbo.tb_Commodity ON dbo.tb_Company.id = dbo.tb_Commodity.CompanyID INNER JOIN dbo.tb_Stock ON dbo.tb_Commodity.id = dbo.tb_Stock.CommodityID WHERE Type='进货'";
}
if (Request["type"] == "2")
{
Label1.Text = "退货";
SqlDataSource1.SelectCommand = "SELECT dbo.tb_Company.CompanyName, dbo.tb_Commodity.CommodityName, dbo.tb_Stock.id, dbo.tb_Stock.Number, dbo.tb_Stock.ManageMan, dbo.tb_Stock.StockDate FROM dbo.tb_Company INNER JOIN dbo.tb_Commodity ON dbo.tb_Company.id = dbo.tb_Commodity.CompanyID INNER JOIN dbo.tb_Stock ON dbo.tb_Commodity.id = dbo.tb_Stock.CommodityID WHERE Type='退货'";
}
//点击返回按钮后,将各选项置空
CheckBox1.Checked = false;
CheckBox2.Checked = false;
CheckBox3.Checked = false;
CheckBox4.Checked = false;
CompanyID.Text = "";
CommodityName.Text = "";
ManageMan.Text = "";
CompanyID.Enabled = false;
CommodityName.Enabled = false;
ManageMan.Enabled = false;
}
//GridView换页时执行select方法
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
select();
}
//点击GridView中详细信息选项后,以弹出窗口方式弹出Stock_open页面
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Write("<script>window.open('../进货管理/Stock_open.aspx','','height=500 , width=480;');history.go(-1);</script>");
}
//在GridView中选中信息后,将此信息在tb_stock表中的ID赋予名为Stock_Search_ID的Session中,供Stock_open页面调用
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
int id = (int)GridView1.DataKeys[e.NewSelectedIndex].Value;
Session["Stock_Search_ID"] = id;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -