split array twice and do a multiple insert

split array twice and do a multiple insert

am 20.12.2006 20:27:51 von clayalphonso

Here is the code:

<%
dim testArray, testArray2
dim Conn, rs
dim sSQL, sConnString
'response.write request.form("sel1")
'testArray = split(request.form("sel1"),",")
'for each gidstuff In testArray
'Response.Write gidstuff & "
"
'next
'define the connection string, specify database
sConnString="whatever_it_is"
'create an ADO connection and recordset
Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
'Open the conn
Conn.Open sConnString
testArray = split(request.form("sel1"),",")
For i = lbound(testArray) to ubound(testArray)
'second split
aSplitArray = split(testArray(i),"$")
'response.write "GID:" & aSplitArray(0) &" STOREID:" & aSplitArray(1) &
"
"
sSQL="insert into group_editor_log (storeid, oldgid, newgid, stamp,
eventid, valid) select '" & _
aSplitArray(1) & "', '" & aSplitArray(0) & "', '" & 1 & "', '" & date()
& "', '" & 1 & "', '" & 1 & "'"
response.write sSQL & "
"
Conn.execute(sSQL)
Next
response.end()
'sSQL="insert into group_editor_log (storeid, oldgid, newgid, stamp,
eventid, valid) select '" & _
'aSplitArray(1) & "', '" & aSplitArray(0) & "', '" & 1 & "', '" &
date() & "', '" & 1 & "', '" & 1 & "'"
%>

I am grabbing multiple select list items and splitting them twice,
reason for this is that I am carrying over 2 values from the select
list.

My problem is this when I am doing a multiple insert the records are
duplicated, in other words, if I select 3 it inserts 6 six, I can't
figure out how to insert the exact amount of records that are selected.

Please help!

Re: split array twice and do a multiple insert

am 21.12.2006 08:12:06 von Alan M

wrote in message
news:1166642871.945873.119120@80g2000cwy.googlegroups.com...
> Here is the code:
>
> <%
> dim testArray, testArray2
> dim Conn, rs
> dim sSQL, sConnString
> 'response.write request.form("sel1")
> 'testArray = split(request.form("sel1"),",")
> 'for each gidstuff In testArray
> 'Response.Write gidstuff & "
"
> 'next
> 'define the connection string, specify database
> sConnString="whatever_it_is"
> 'create an ADO connection and recordset
> Set Conn = Server.CreateObject("ADODB.Connection")
> Set rs = Server.CreateObject("ADODB.Recordset")
> 'Open the conn
> Conn.Open sConnString
> testArray = split(request.form("sel1"),",")
> For i = lbound(testArray) to ubound(testArray)


since you have one insert for each item in your array, you must have 6 items
not 3 in your array

write it to screen and see


> 'second split
> aSplitArray = split(testArray(i),"$")
> 'response.write "GID:" & aSplitArray(0) &" STOREID:" & aSplitArray(1) &
> "
"
> sSQL="insert into group_editor_log (storeid, oldgid, newgid, stamp,
> eventid, valid) select '" & _
> aSplitArray(1) & "', '" & aSplitArray(0) & "', '" & 1 & "', '" & date()
> & "', '" & 1 & "', '" & 1 & "'"
> response.write sSQL & "
"
> Conn.execute(sSQL)
> Next
> response.end()


Why is the insert repeated here?



> 'sSQL="insert into group_editor_log (storeid, oldgid, newgid, stamp,
> eventid, valid) select '" & _
> 'aSplitArray(1) & "', '" & aSplitArray(0) & "', '" & 1 & "', '" &
> date() & "', '" & 1 & "', '" & 1 & "'"
> %>
>
> I am grabbing multiple select list items and splitting them twice,
> reason for this is that I am carrying over 2 values from the select
> list.
>
> My problem is this when I am doing a multiple insert the records are
> duplicated, in other words, if I select 3 it inserts 6 six, I can't
> figure out how to insert the exact amount of records that are selected.
>
> Please help!
>