📄 eight.html
字号:
/// </summary><br>
/// <param name="goodsID">商品信息ID</param><br>
/// <returns>预警商品信息DataTable</returns><br>
public DataTable GetGoodsSaveAlertByID(int goodsID)<br>
{<br>
cmd.CommandText = string.Format("select top 1 a.GoodsID,a.SaveNum,a.SaveAddNum,a.SaveTime,a.SaveAddTime,b.GoodsName from GoodsSave a,GoodsInfo b where a.GoodsID = {0} and a.GoodsID = b.GoodsID ", goodsID);<br>
SqlDataAdapter dad = new SqlDataAdapter(cmd);<br>
DataSet dts = new DataSet();<br>
DataTable dtb = new DataTable();<br>
try<br>
{<br>
conn.Open();<br>
dad.Fill(dts);<br>
dtb = dts.Tables[0];<br>
}<br>
catch (Exception ex)<br>
{<br>
throw (ex);<br>
}<br>
finally<br>
{<br>
cmd.Dispose();<br>
conn.Close();<br>
}<br>
return dtb;<br>
}</p>
<p>6.在GoodsSaveAlert.aspx.cs中的库存预警商品的数量修改的Click事件IsAdd_Click()中加入所有字段的校验程序,通过校验就要在数据库中写入数据,修改成功后重新跳转到库存预警商品页面GoodsSaveAlert.aspx</p>
<p class="code">/// <summary><br>
/// 修改库存预警商品的数量<br>
/// </summary><br>
protected void IsAdd_Click(object sender, EventArgs e)<br>
{<br>
if (SaveNum.Text.Trim().Length == 0)<br>
{<br>
JScript.Alert("商品库存数量不能为空!");<br>
}<br>
else<br>
{<br>
int goodsID = 0;<br>
if (StringUtil.IsNumeric(GoodsID.Text.Trim()))<br>
{<br>
goodsID = int.Parse(GoodsID.Text.Trim().ToString());<br>
}<br>
int saveNum = 0;<br>
if (StringUtil.IsNumeric(SaveNum.Text.Trim()))<br>
{<br>
saveNum = int.Parse(SaveNum.Text.Trim().ToString());<br>
}<br>
string goodsName = GoodsName.Text.ToString();<br>
int modifyOk = GoodsSave.ModifyGoodsSaveAlert(goodsID, saveNum, goodsName);<br>
if (modifyOk == 1)<br>
{<br>
JScript.Alert("修改成功,欢迎使用!");<br>
JScript.JavaScriptLocationHref("GoodsSaveAlert.aspx");<br>
}<br>
else<br>
{<br>
JScript.Alert("修改失败,请稍后再来!");<br>
return;<br>
}<br>
}<br>
}</p>
<p>在库存类文件GoodsSave.cs上创建库存预警商品的数量修改的方法ModifyGoodsSaveAlert(),把所有修改字段作为参数输入给方法,完成库存预警商品的数据库写入功能</p>
<p class="code">/// <summary><br>
/// 修改库存预警商品的数量<br>
/// </summary><br>
/// <param name="goodsID">商品信息ID</param><br>
/// <param name="saveNum">库存数量</param><br>
/// <param name="goodsName">商品名称</param><br>
/// <returns>flag标记</returns><br>
public int ModifyGoodsSaveAlert(int goodsID, int saveNum, string goodsName)<br>
{<br>
int flag = 0;<br>
cmd.CommandText = string.Format("update GoodsSave set SaveNum = {0},SaveAddNum = {0}-SaveNum,SaveAddTime = getdate(),GoodsName = '{2}' where GoodsID = {1}", saveNum, goodsID, goodsName);<br>
try<br>
{<br>
conn.Open();<br>
cmd.ExecuteNonQuery();<br>
flag = 1;<br>
}<br>
catch (Exception ex)<br>
{<br>
throw (ex);<br>
}<br>
finally<br>
{<br>
cmd.Dispose();<br>
conn.Close();<br>
}<br>
return flag;<br>
}</p>
<p><a href="#00"><<返回目录</a></p>
<p class="title02"><a id="04" name="04"></a>编写所有库存商品页面GoodsSaveAll.aspx的程序
<p>1.创建库存预警商品页面GoodsSaveAll.aspx,在页面上插入2个Panel控件,一个是库存预警商品列表显示(PalAllGoodsSaveAll),一个是库存预警商品数量修改(PalOneGoodsSaveAll),先显示PalAllGoodsSaveAll,隐藏PalOneGoodsSaveAll。</p>
<p><img src="images/8-3-1.JPG" width="641" height="340"><br>
<img src="images/8-3-2.JPG" width="640" height="169"></p>
<p>这个页面和前一个页面基本相同,区别是该页面的GridView中要显示的全部商品的库存信息,所以数据源的SQL语句有所不同。</p>
<p class="code">select d.SaveNum,d.SaveAddNum,d.SaveTime,d.SaveAddTime,c.GoodsID,c.GoodsName,a.TypeName,b.BorderName from GoodsType a,GoodsBorder b,GoodsInfo c ,GoodsSave d where a.TypeID = c.TypeID and b.BorderID = c.BorderID and c.GoodsID = d.GoodsID order by d.SaveNum,a.TypeID desc,b.BorderID desc,c.GoodsOrder desc</p>
<p>2.在GoodsSaveAll.aspx.cs中引用命名空间</p>
<p class="code">using Kingvcn.WShop;</p>
<p>定义调用对象</p>
<p class="code">GoodsSave GoodsSave = new GoodsSave();<br>
protected string typename = ConfigurationManager.AppSettings["typename"];<br>
int allNum = 0;<br>
int goodsID = 0;</p>
<p>在Page_Load()事件中加入程序,先写上登录管理员的Session判定程序,然后调用库存类文件GoodsSave.cs提取库存预警数字的方法GetGoodsSaveInfoNum()获取商品满库数量存放在定义好的变量allNum中,然后判断是否有GoodsID传入,有的话将其值存放在变量goodsID中,并调用GetGoodsSaveAllByID()方法,隐藏PalAllGoodsSaveAll Panel控件,显示PalOneGoodsSaveAll Panel控件。如果没有GoodsID传入就显示PalAllGoodsSaveAll Panel控件,隐藏PalOneGoodsSaveAll Panel控件。</p>
<p class="code">protected void Page_Load(object sender, EventArgs e)<br>
{<br>
if((Session["ManagerID"] == null)||(Session["ManagerID"].ToString() == ""))<br>
{<br>
JScript.GotoParentWindow("Index.aspx");<br>
}<br>
else<br>
{<br>
allNum = GoodsSave.GetGoodsSaveInfoNum(1);<br>
if((Request["GoodsID"] != null) && (Request["GoodsID"].ToString() != ""))<br>
{<br>
goodsID = int.Parse(Request["GoodsID"].ToString());<br>
if (!IsPostBack)<br>
{<br>
GetGoodsSaveAllByID(goodsID);<br>
PalAllGoodsSaveAll.Visible = false;<br>
PalOneGoodsSaveAll.Visible = true;<br>
}<br>
}<br>
else<br>
{<br>
if (!IsPostBack)<br>
{<br>
PalAllGoodsSaveAll.Visible = true;<br>
PalOneGoodsSaveAll.Visible = false;<br>
}<br>
}<br>
}<br>
}</p>
<p>3.在GoodsSaveAll.aspx.cs中加入提取库存商品信息的方法,调用库存类文件GoodsSave.cs上前面写的提取某个库存预警商品信息的方法GetGoodsSaveAlertByID(),该方法的输入参数是商品的goodsID,完成库存商品信息的提取。并把库存商品的信息字段赋值给相应的TextBox控件。</p>
<p class="code">/// <summary><br>
/// 提取库存商品信息<br>
/// </summary><br>
/// <param name="goodsID">商品信息ID</param><br>
private void GetGoodsSaveAllByID(int goodsID)<br>
{<br>
if (goodsID > 0)<br>
{<br>
DataTable myDtb = new DataTable();<br>
myDtb = GoodsSave.GetGoodsSaveAlertByID(goodsID);<br>
if (myDtb.DefaultView.Count > 0)<br>
{<br>
GoodsID.Text = myDtb.DefaultView[0]["GoodsID"].ToString();<br>
GoodsName.Text = myDtb.DefaultView[0]["GoodsName"].ToString();<br>
SaveNum.Text = myDtb.DefaultView[0]["SaveNum"].ToString();<br>
SaveAddNum.Text = myDtb.DefaultView[0]["SaveAddNum"].ToString();<br>
SaveTime.Text = myDtb.DefaultView[0]["SaveTime"].ToString();<br>
SaveAddTime.Text = myDtb.DefaultView[0]["SaveAddTime"].ToString();<br>
}<br>
else<br>
{<br>
JScript.Alert("没有找到该商品的库存信息!");<br>
JScript.GotoParentWindow("GoodsSaveAlert.aspx");<br>
}<br>
}<br>
}<BR>
</p>
<p>4.在库存商品的数量修改的Click事件IsAdd_Click()中加入所有字段的校验程序,通过校验就要在数据库中写入数据,然后调用库存类文件GoodsSave.cs上前面写的库存商品的数量修改的方法ModifyGoodsSaveAlert(),把所有修改字段作为参数输入给方法,完成库存预警商品的数据库写入功能,修改成功后重新跳转到所有库存商品页面GoodsSaveAll.aspx。</p>
<p class="code">/// <summary><br>
/// 修改所有库存商品的数量<br>
/// </summary><br>
protected void IsAdd_Click(object sender, EventArgs e)<br>
{<br>
if (SaveNum.Text.Trim().Length == 0)<br>
{<br>
JScript.Alert("商品库存数量不能为空!");<br>
}<br>
else<br>
{<br>
int goodsID = 0;<br>
if (StringUtil.IsNumeric(GoodsID.Text.Trim()))<br>
{<br>
goodsID = int.Parse(GoodsID.Text.Trim().ToString());<br>
}<br>
int saveNum = 0;<br>
if (StringUtil.IsNumeric(SaveNum.Text.Trim()))<br>
{<br>
saveNum = int.Parse(SaveNum.Text.Trim().ToString());<br>
}<br>
string goodsName = GoodsName.Text.ToString();<br>
int modifyOk = GoodsSave.ModifyGoodsSaveAlert(goodsID, saveNum, goodsName);<br>
if (modifyOk == 1)<br>
{<br>
JScript.Alert("修改成功,欢迎使用!");<br>
JScript.JavaScriptLocationHref("GoodsSaveAll.aspx");<br>
}<br>
else<br>
{<br>
JScript.Alert("修改失败,请稍后再来!");<br>
return;<br>
}<br>
}<br>
}</p>
<p><a href="#00"><<返回目录</a></p>
<p class="title02"><a name="05" id="05"></a>源代码</p>
<a href="code/WShop.sql.txt">WShop.sql</a><br>
<a href="code/GoodsSave.cs.txt">GoodsSave.cs</a><br>
<a href="code/GoodsSaveInfo.aspx.txt">GoodsSaveInfo.aspx</a><br>
<a href="code/GoodsSaveInfo.aspx.cs.txt">GoodsSaveInfo.aspx.cs</a><br>
<a href="code/GoodsSaveAlert.aspx.txt">GoodsSaveAlert.aspx</a><br>
<a href="code/GoodsSaveAlert.aspx.cs.txt">GoodsSaveAlert.aspx.cs</a><br>
<a href="code/GoodsSaveAll.aspx.txt">GoodsSaveAll.aspx</a><br>
<a href="code/GoodsSaveAll.aspx.cs.txt">GoodsSaveAll.aspx.cs</a>
<p><a href="downloads/Step_Eight.rar">第八章源程序:Step_Eight.rar</a></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -