S
shank
I'm trying to use online samples for submitting multiple records from ASP
into a stored procedure. Failing! Through the below form, a user could be
submitting many records at a time. I'm not getting any records inserted. For
troubleshooting, I cut the form down to 1 textbox and when submitted it
populated 5 rows of the same data. So I know I'm connected, but not getting
the LOOP and NEXT correct? How do I set this up so many records can be
inserted? What am I not seeing?
thanks!
====== <FORM> ======
<form action="test.asp" method="post" name="frmSortKey">
<table>
<tr>
<td class="colhead">New#</td>
</tr>
<%
While ((Repeat1__numRows <> 0) AND (NOT rsSongs.EOF))
%>
<tr>
<td class="resultsright">
<input name="SK" type="text"
value="<%=(rsSongs.Fields.Item("SortKey").Value)%>" size="3" maxlength="2"
style="text-align:right">
<input name="PID" type="hidden"
value="<%=(rsSongs.Fields.Item("ProjectID").Value)%>">
<input name="IDD" type="hidden"
value="<%=(rsSongs.Fields.Item("ID").Value)%>">
</td>
</tr>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
rsSongs.MoveNext()
Wend
%>
</table>
<input name="SubmitNow" type="hidden" value="1">
<input name="Submit" type="submit" value="Change track numbers">
</form>
====== TEST.ASP code ======
<%
Dim rsTracks__PID
rsTracks__PID = "0"
if(Request("PID") <> "") then rsTracks__PID = Request("PID")
Dim rsTracks__SK
rsTracks__SK = "0"
if(Request("SK") <> "") then rsTracks__SK = Request("SK")
Dim rsTracks__IDD
rsTracks__IDD = "0"
if(Request("IDD") <> "") then rsTracks__IDD = Request("IDD")
%>
<%
FOR i = 1 to 5
set rsTracks = Server.CreateObject("ADODB.Command")
rsTracks.ActiveConnection = MM_STRING
rsTracks.CommandText = "admin.stp_DOD_TrackNumbers"
rsTracks.CommandType = 4
rsTracks.CommandTimeout = 0
rsTracks.Prepared = true
rsTracks.Parameters.Append rsTracks.CreateParameter("@RETURN_VALUE", 3, 4)
rsTracks.Parameters.Append rsTracks.CreateParameter("@PID", 3,
1,9,rsTracks__PID)
rsTracks.Parameters.Append rsTracks.CreateParameter("@SK", 3,
1,9,rsTracks__SK)
rsTracks.Parameters.Append rsTracks.CreateParameter("@IDD", 3,
1,9,rsTracks__IDD)
rsTracks.Execute()
NEXT
MM_STRING.close
set MM_STRING=nothing
%>
====== STORED PROCEDURE ======
CREATE PROCEDURE stp_DOD_TrackNumbers
@PID int, @SK int, @IDD int
AS
INSERT INTO tmpDODSongs (ProjectID, SortKey, OldIDD)
VALUES (@PID, @SK, @IDD)
GO
====== TEST.ASP output ======
This...
<%=Request("PID")%><br>
<%=Request("SK")%><br>
<%=Request("IDD")%><br><br>
Produces this...
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
121, 122, 123, 124, 125, 126, 127, 130, 131, 132, 133, 134, 135, 136, 137,
138, 139
into a stored procedure. Failing! Through the below form, a user could be
submitting many records at a time. I'm not getting any records inserted. For
troubleshooting, I cut the form down to 1 textbox and when submitted it
populated 5 rows of the same data. So I know I'm connected, but not getting
the LOOP and NEXT correct? How do I set this up so many records can be
inserted? What am I not seeing?
thanks!
====== <FORM> ======
<form action="test.asp" method="post" name="frmSortKey">
<table>
<tr>
<td class="colhead">New#</td>
</tr>
<%
While ((Repeat1__numRows <> 0) AND (NOT rsSongs.EOF))
%>
<tr>
<td class="resultsright">
<input name="SK" type="text"
value="<%=(rsSongs.Fields.Item("SortKey").Value)%>" size="3" maxlength="2"
style="text-align:right">
<input name="PID" type="hidden"
value="<%=(rsSongs.Fields.Item("ProjectID").Value)%>">
<input name="IDD" type="hidden"
value="<%=(rsSongs.Fields.Item("ID").Value)%>">
</td>
</tr>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
rsSongs.MoveNext()
Wend
%>
</table>
<input name="SubmitNow" type="hidden" value="1">
<input name="Submit" type="submit" value="Change track numbers">
</form>
====== TEST.ASP code ======
<%
Dim rsTracks__PID
rsTracks__PID = "0"
if(Request("PID") <> "") then rsTracks__PID = Request("PID")
Dim rsTracks__SK
rsTracks__SK = "0"
if(Request("SK") <> "") then rsTracks__SK = Request("SK")
Dim rsTracks__IDD
rsTracks__IDD = "0"
if(Request("IDD") <> "") then rsTracks__IDD = Request("IDD")
%>
<%
FOR i = 1 to 5
set rsTracks = Server.CreateObject("ADODB.Command")
rsTracks.ActiveConnection = MM_STRING
rsTracks.CommandText = "admin.stp_DOD_TrackNumbers"
rsTracks.CommandType = 4
rsTracks.CommandTimeout = 0
rsTracks.Prepared = true
rsTracks.Parameters.Append rsTracks.CreateParameter("@RETURN_VALUE", 3, 4)
rsTracks.Parameters.Append rsTracks.CreateParameter("@PID", 3,
1,9,rsTracks__PID)
rsTracks.Parameters.Append rsTracks.CreateParameter("@SK", 3,
1,9,rsTracks__SK)
rsTracks.Parameters.Append rsTracks.CreateParameter("@IDD", 3,
1,9,rsTracks__IDD)
rsTracks.Execute()
NEXT
MM_STRING.close
set MM_STRING=nothing
%>
====== STORED PROCEDURE ======
CREATE PROCEDURE stp_DOD_TrackNumbers
@PID int, @SK int, @IDD int
AS
INSERT INTO tmpDODSongs (ProjectID, SortKey, OldIDD)
VALUES (@PID, @SK, @IDD)
GO
====== TEST.ASP output ======
This...
<%=Request("PID")%><br>
<%=Request("SK")%><br>
<%=Request("IDD")%><br><br>
Produces this...
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
121, 122, 123, 124, 125, 126, 127, 130, 131, 132, 133, 134, 135, 136, 137,
138, 139