将两个迭代值添加到更新查询中的asp-classic

时间:2019-04-25 12:13:11

标签: vbscript asp-classic

我确定我的错误很简单

我的sqlDB中有一个二维数组,位于单列上

myList = rs.GetRows()

我有html页面,其中包含基于数组长度的输入。 :

<input type="number" name="actual"> 

现在,我要做的是建立一个唯一的SQL更新查询,其中实际列与unique_id列匹配

让我们假设列表上只有两个变量。

for each x in my list
 response.write(x)
1,
2

并且只有两个输入,因为输入是由唯一ID生成的

for inputs in response.form("actual")
 response.write(inputs)
55,
66

现在,我想结合使用它们来构建我的更新查询。

我尝试编写double for循环,但这会为输入的每个实例生成一个ID,因此创建4个变量而不是2个变量

 Unique ID, Input
    1 : 55
    1 : 66
    2 : 55
    2 : 66

我想要的是

1 : 55
2 : 66

有人可以帮助吗?我已经在这里待了几个小时了。我不是编码人员,也不是具有技术背景,并且精通传统系统和流程。

我确定要去词典是这样的,所以我可以生成一对一的关系,但是我不知道如何将输入转换为列表然后将其传递给字典。

用于生成我的表的html代码:

  <div class="container">
              <table id="table" class="table">
                <thead class="thead-dark">
                  <tr>
                  <th scope="col" data-field="article">Unique ID</th>
                  <th scope="col" data-field="item">Item Name</th>
                  <th scope="col" data-field="quant">Quantity</th>
                  <th scope="col" data-field="act">Actual</th>
              </tr>
              </tr>
            </thead>
            </div>

           <%
           While not grs.eof
          %>
            <tr>
                <th><%=grs.fields("UniqueID")%></th>
                <th><%=grs.fields("itemName")%></th>
                <th><%=grs.fields("quant")%></th>
                <input type="number" class="form-control" id="actual" placeholder="<%=grs.fields("actual")%>" name="Actual">

            <%

            grs.movenext
            Wend
SQL update query goes here %>

1 个答案:

答案 0 :(得分:1)

好的,这里的小事:

您的ID并非每一行都相同,因此请执行类似id=actual_<%=grs.fields("UniqueID")%>

的操作

您可以尝试以下方法:

<input type="number" class="form-control" id="actual_<%=grs.fields("UniqueID")%>" placeholder="<%=grs.fields("actual")%>" name="actual_<%=grs.fields("UniqueID")%>">

然后在您的循环中:

for each inputs in request.form
   if left(inputs, 7) = "actual_" then
      myId = mid(inputs, 8)
      myValue = request.form("actual_" & myId)

      <your sql statement here>
   end if
next

(您必须添加一些内容以检查所检查输入的名称至少7个字符长,否则会出现错误)