关于语言的道歉,我正在维护一个遗留系统,所有这些都在ASP Classic中。
我有一个html页面,其中包含通过ASP从我的SQL Server生成的内容
<form method="POST">
<div class="container">
<table id="table" class="table">
<thead class="thead-dark">
<tr>
<th scope="col" data-field="article">Article</th>
<th scope="col" data-field="item">QTY/th>
然后我用dB的while循环生成了内容,它可以正确显示内容:
<%
While not grs.eof
%>
<tr>
<!--SQL query from ASP-classic-->
<th><%=grs.fields("Article")%></th>
<input type="number" class="form-control" id="Quant" placeholder="<%=grs.fields("QTY")%>" name="qty"></th>
<%
grs.movenext
wend
%>
</tr>
</table>
</form>
现在,我的桌子上方有一个按钮
<button type="submit" value="Submit" class="btn btn-primary mb-2" name="B1">Confirm</button>
当我的最终用户单击“提交”时,我希望将所有值更新到我的SQL Server中,因为这在一个for循环中,所以我不确定“更新”查询的去向。 / p>
<%
If request.form("B1")="Submit" Then
If QTY = "" Then
QTY = 0
Else
QTY = request.form("QTY")
'Update SQL'
gsSQL2 = "UPDATE dB SET quant ='" & QTY & "' WHERE ID = '" & request.querystring("ID") & "' And Article = '" & grs.fields("Article") &"'"
gobjConn.Execute(gsSQL2)
(请注意,我的代码在我的IDE中已正确缩进)
现在,当我在While循环中单击Submit时,我得到的ID号用逗号分隔,因此我知道它正在更新,但我不确定自己在做什么错。
任何帮助将不胜感激。
如果需要进一步的信息,请告诉我。
预期的输出是在网站上显示一些商品代码代码,并征求用户的回应,然后将该输出写入我的SQL dB,其中商品=商品,ID = ID。
对生成内容的主查询(这与我的示例数据不匹配,但是如果错误是查询本身,我将进行发布)
gsSQL = "SELECT ID, Article, [Item Name] as name, [Stock Quantity] as qty, Built, Boxed, Actual from dB where Store ='" & request.querystring("store") & "' order by [Category], name "
Set grs = gobjConn.Execute(gsSQL)
答案 0 :(得分:0)
希望我能正确理解您,您的ID,数量和商品已经在数据库中,并希望更新与ID相关的数量。在这种情况下:
在创建表单的循环中,为每个数字输入一个名称,名称中带有ID(或者,如果您只有一个字段,则以ID作为名称)。就您而言:
<input type = "text" id ="inputNum">
<div id = "numbers"></div>
<button id="copy">copy text</button>
然后在操作页面上循环浏览所有字段并进行相应的更新,或者对名称进行替换以获取ID,或者如果仅使用ID作为字段名,则无需替换即可使用
<input type="number" name="qty<%=rs("ID")%>">
这样,您将遍历表格中的所有字段。我也不确定在where子句中是否需要ID和Article?一个ID可以有很多Articles,反之亦然吗?