打印本文 打印本文 关闭窗口 关闭窗口
一次编程实践[ASP+MSSQL]
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3453  更新时间:2007/11/14 12:59:50  文章录入:mintao  责任编辑:mintao
bsp;  (ProductID nvarchar(6))
        DECLARE @YesterdayOfCheckDate smalldatetime
        SET @YesterdayOfCheckDate = DATEADD(day, -1, @CheckDate)

        --保存该日生产的产品ID号
        INSERT @ProductIDList
        select distinct LEFT(productid, 4) + ''''00'''' as productid from yuancaiFlow_view
        where productiondate = @CheckDate
        and productid like ''''01____''''

        --正常工序为hj->sx->jt->ph->zj
        INSERT @FlowSubsistenceList
        select a.productid,
        b.productname,
        isnull(hj.GoodQty, 0) as hj_good,
        isnull(hjtoday.qty, 0) as hj_today,
        isnull(hjyesterday.qty, 0) hj_yesterday,
        0 - (isnull(hj.GoodQty, 0) - isnull(hjtoday.qty, 0) + isnull(hjyesterday.qty, 0) - isnull(sx.GoodQty, 0) - isnull(sx.BadQty, 0)) as hj_difference,
        isnull(sx.GoodQty, 0) as sx_good,
        isnull(sx.BadQty, 0) as sx_bad,
        isnull(sxtoday.qty, 0) as sx_today,
        isnull(sxyesterday.qty, 0) sx_yesterday,
        0 - (isnull(sx.GoodQty, 0) - isnull(sxtoday.qty, 0) + isnull(sxyesterday.qty, 0) - isnull(jt.GoodQty, 0) - isnull(jt.BadQty, 0)) as sx_difference,
        isnull(jt.GoodQty, 0) as jt_good,
        isnull(jt.BadQty, 0) as jt_bad,
        isnull(jttoday.qty, 0) as jt_today,
        isnull(jtyesterday.qty, 0) jt_yesterday,
        0 - (isnull(jt.GoodQty, 0) - isnull(jttoday.qty, 0) + isnull(jtyesterday.qty, 0) - isnull(ph.GoodQty, 0) - isnull(ph.BadQty, 0)) as jt_difference,
        isnull(ph.GoodQty, 0) as ph_good,
        isnull(ph.BadQty, 0) as ph_bad,
        isnull(phtoday.qty, 0) as ph_today,
        isnull(phyesterday.qty, 0) ph_yesterday,
        0 - (isnull(ph.GoodQty, 0) - isnull(phtoday.qty, 0) + isnull(phyesterday.qty, 0) - isnull(zj.GoodQty, 0) - isnull(zj.BadQty, 0)) as ph_difference,
        isnull(zj.GoodQty, 0) as zj_good,
        isnull(zj.BadQty, 0) as zj_bad
        from @ProductIDList as a,
        finishedproduct as b,
        yuancaiFlow_view as hj,
        basflowsubsistence as hjtoday,
        basflowsubsistence as hjyesterday,
        yuancaiFlow_view as sx,
        basflowsubsistence as sxtoday,
        basflowsubsistence as sxyesterday,
        yuancaiFlow_view as jt,
        basflowsubsistence as jttoday,
        basflowsubsistence as jtyesterday,
        yuancaiFlow_view as ph,
        basflowsubsistence as phtoday,
        basflowsubsistence as phyesterday,
        yuancaiFlow_view as zj
        where a.productid = b.productid
        --hj
        and hj.productiondate = @CheckDate
        and left(a.productid, 4) *= left(hj.productid, 4)
        and hj.productid like ''''____06''''  
        and left(a.productid, 4) + ''''06'''' *= hjtoday.productid
        and hjtoday.checkdate = @CheckDate
        and left(a.productid, 4) + ''''06'''' *= hjyesterday.productid
        and hjyesterday.checkdate = @YesterdayOfCheckDate
        --sx
        and sx.productiondate = @CheckDate
        and left(a.productid, 4) *= left(sx.productid, 4)
        and sx.productid like ''''____08''''  
        and left(a.productid, 4) + ''''08'''' *= sxtoday.productid
        and sxtoday.checkdate = @CheckDate
        and left(a.productid, 4) + ''''08'''' *= sxyesterday.productid
        and sxyesterday.checkdate = @YesterdayOfCheckDate
        --jt
        and jt.productiondate = @CheckDate
        and left(a.productid, 4) *= left(jt.productid, 4)
        and jt.productid like ''''____07''''  
        and left(a.productid, 4) + ''''07'''' *= jttoday.productid
        and jttoday.checkdate = @CheckDate
        and left(a.productid, 4) + ''''07'''' *= jtyesterday.productid
        and jtyesterday.checkdate = @YesterdayOfCheckDate
        --ph
        and ph.productiondate = @CheckDate
        and left(a.productid, 4) *= left(ph.productid, 4)
        and ph.productid like ''''____09''''  
        and left(a.productid, 4) + ''''09'''' *= phtoday.productid
        and phtoday.checkdate = @CheckDate
        and left(a.productid, 4) + ''''09'''' *= phyesterday.productid
        and phyesterday.checkdate = @YesterdayOfCheckDate
        --zj
        and zj.productiondate = @CheckDate
        and left(a.productid, 4) *= left(zj.productid, 4)
        and zj.productid like ''''01__11''''
        RETURN
END
GO

ASP端与SQL端意外地解耦合了:

Dim rsCheckList
Set rsCheckList = Server.CreateObject("ADODB.Recordset")
rsCheckList.ActiveConnection = oConn
rsCheckList.Open"select * from dbo.fn_GetGLSubsistenceList(''''"&datCheckDate&"'''')"

这次编程实践让我得到一个ASP开发的新思路:
用视图+函数封装数据库

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口