在Classic ASP中生成完整的SKU

时间:2009-11-04 23:50:13

标签: asp-classic vbscript

您好我的产品由几个选项组成。每个选项都有一个SKU代码。您只能从每个SKU组中选择一个选项,并且选项必须按SKUGroup的顺序连接。

因此,例如,我会在数据库中的表中有一个选项列表,看起来像

OptID   PID     SKU Price   SKUGroup

156727  93941   C   171.00  1
156728  93941   BN  171.00  1
156729  93941   PN  171.00  1
156718  93940   W   115.20  2
156719  93940   CA  115.20  2
156720  93940   BA  115.20  2
156721  93940   BNA 115.20  2
156722  93940   BN  115.20  2
156723  93940   BS  115.20  2
156716  93939   CHR 121.50  3
156717  93939   NK  138.00  3

一些成品SKU看起来像是:

C-W-CHR 407.70
C-W-NK  424.20
C-CA-CHR    407.20
C-CA-NK 424.20

我正在尝试创建一个脚本,该脚本将创建SKU的每种可能组合和组合选项价格的列表。

我需要在Classic ASP(vbscript)中完成这个,我对它并不熟悉。所以我正在寻找能得到的所有帮助。

谢谢!

1 个答案:

答案 0 :(得分:1)

我首先要连接到数据库并创建三个记录集。

Set connection = CreateObject("ADODB.Connection")
connection.Open ConnectionString 
Set rsOption1 = CreateObject("ADODB.recordset")
Set rsOption2 = CreateObject("ADODB.recordset")
Set rsOption3 = CreateObject("ADODB.recordset")
rsOption1.Open "SELECT * FROM TableName WHERE SKUGroup = 1", connection, 3,3
rsOption2.Open "SELECT * FROM TableName WHERE SKUGroup = 2", connection, 3,3
rsOption3.Open "SELECT * FROM TableName WHERE SKUGroup = 3", connection, 3,3

然后您可以使用嵌套循环来获取组合。像这样的东西(未经测试,这可能不会按原样运行,但它会让你知道如何做到这一点)(此假设您必须从中选择至少一个选项每组

for i = 0 to rsOption1.RecordCount
    rsOption1.Move i, 1
    for j = 0 to rsOption2.RecordCount
        rsOption2.Move j, 1
        for k = 0 to rsOption3.RecordCount
            rsOption3.Move k, 1
            'Write rsOption1.Fields(2).Value & "-" & rsOption2.Fields(2).Value & _
            '"-" & rsOption3.Fields(2).Value & "     " & _
            'FormatCurrency((rsOption1.Fields(3).Value + rsOption2.Fields(3).Value + rsOption3.Fields(3).Value))
        Next
    Next
Next