经典asp中的循环更新语句

时间:2013-06-06 07:52:22

标签: sql loops asp-classic

我真的需要一些关于此代码的帮助。当选择了4条记录时,循环只使update语句运行一次,因此它必须循环4次。这是我第一次遇到这个问题,我似乎无法理解为什么会这样做。请帮忙。谢谢。

<!--#include file="connectionString.inc"-->
<%
Dim strmode, arrmode,i,rs,SQLstr, a, b, site_to


strmode=Request.form("changeBox")
cont1=request.form("cont1")
arrmode=split(strmode,",")




if request.form("submitChange") = "" then
    response.write("Please try again, you have no selected anything. Press back on your browser")
end if
   if request.form("submitChange") = "site" then
    response.write(b)
    for i = 0 to UBound(arrmode)
        SQLstr = "UPDATE SCSer SET Ser_Site_Num = '" & request.form("site_to") & "' WHERE Ser_Num = '" & arrmode(i) & "'"
        Set rs = Server.CreateObject("ADODB.Recordset")
        rs.open SQLstr, conn, 1, 2       
        Response.Write("SUCCESSFULLY UPDATED! " + arrmode(i))
    next
end if

if request.form("submitChange") = "contract" then
    a=LBound(arrmode)
b=UBound(arrmode)
    SQLstr = "UPDATE SCSer SET Ser_Site_Num = '" & request.form("site_to") & "' WHERE Ser_Num BETWEEN '" & arrmode(a) & "' AND '" & arrmode(b) & "'"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.open SQLstr, conn, 1, 2
    Response.Write("SUCCESSFULLY UPDATED! <br/>")
    response.write(arrmode(a)+"<br/>")
    response.write(arrmode(b))
end if
%>

1 个答案:

答案 0 :(得分:0)

试试这个并看看响应的内容:

<%
Dim strmode, arrmode,i,rs,SQLstr, a, b, site_to
Dim oConn

strmode=Request.form("changeBox")
cont1=request.form("cont1")
arrmode=split(strmode,",")

Response.Write "submitChange is:" & request.form("submitChange") & "<br>"


if request.form("submitChange") = "" then
    response.write("Please try again, you have not selected anything. Press back on your browser")
    Response.end
end if

set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open conn

if request.form("submitChange") = "site" then
    for i = 0 to UBound(arrmode)
        SQLstr = "UPDATE SCSer SET Ser_Site_Num = '" & request.form("site_to") & "' WHERE Ser_Num = '" & Trim(arrmode(i)) & "'"
        Response.Write "Executing SQL: "& SQLstr &"<br>"
        oConn.Execute(SQLstr)      
        Response.Write("SUCCESSFULLY UPDATED! " + arrmode(i))
    next
end if

if request.form("submitChange") = "contract" then
    a=LBound(arrmode)
    b=UBound(arrmode)
    SQLstr = "UPDATE SCSer SET Ser_Site_Num = '" & request.form("site_to") & "' WHERE convert(int,Ser_Num) BETWEEN " & arrmode(a) & " AND " & arrmode(b) & ""
    Response.Write "Executing SQL: "& SQLstr &"<br>"
    oConn.Execute(SQLstr)    
    Response.Write("SUCCESSFULLY UPDATED! <br/>")
    response.write(arrmode(a)+"<br/>")
    response.write(arrmode(b))
end if
%>
相关问题