I min Request.Form får jag in : Jag skulle ändra formuläret. tack för ditt svar...insert into / update DB from querystring.form....?????
dbID = , , , 2, 3, , 4
dagID = 351, 352, 353, 354, 355, 356, 357
In = , , , 08:00, 09:00, , 08:00
Lunch = , , , 00:42, 00:10, , 16:00
Ut = , , , 17:00, 16:00, , 10:00
Tid0 = , , , 1.8, 0, , 1
Tid1 = , , , 1.2, 0, , 5
Tid2 = , , , 2, 2, , 1
(eg fler rader än så, men har här struppat ner en del)...
Dessa vill jag skriva in i databasen. databasFälten har samma namn som form.Key namnen enl ovan.
dbID = "" innebär att det skall läggas till en ny rad, annars uppdatera en befintlig rad... detta är alltså räknaren i Dbn
hur gör jag detta lättast?
läsa in till en 2dimonsionell array med instr(x,",") , transponera o sen använda
ifidDag="" then
insert into _P29(.....) values(....)
else
update.....
end if
??????
Började lite lätt innan jag insåg att det var för krångligt...
<code>
myArray = Split(Request.Form.Item(3),",")
for y=0 to Ubound(myArray)
'myArray = Split(Request.Form.Item(y),",")
for x=1 to Request.Form.Count
strSQL = "insert into _P29 (" &Request.Form.Key(x)& ")values ("&myarray(y)&");"
next
next
</code>
gick inte så bra dock:/ Sv: insert into / update DB from querystring.form....?????
För att redigera poster:
<form method="post">
<%
Do Until rs.eof
Index = Index + 1
%>
<input type="hidden" name="dbid(<%=Index%>)" value="<%=rs("dbid")%>">
<input type="hidden" name="dagid(<%=Index%>)" value="<%=rs("dagid")%>">
<input type="text" name="in(<%=Index%>)" value="<%=Server.HTMLEncode(rs("in"))%>">
<input type="text" name="lunch(<%=Index%>)" value="<%=Server.HTMLEncode(rs("lunch"))%>">
<input type="text" name="ut(<%=Index%>)" value="<%=Server.HTMLEncode(rs("ut"))%>">
<%
rs.MoveNext
Loop
%>
<input type="hidden" name="count" value="<%=index%>">
</form>
För nya poster:
<form method="post">
<%
Count = 10
For Index = 1 to Count
%>
<input type="hidden" name="dbid_<%=Index%>">
<input type="hidden" name="dagid_<%=Index%>">
<input type="text" name="in_<%=Index%>">
<input type="text" name="lunch_<%=Index%>">
<input type="text" name="ut_<%=Index%>">
<%
rs.MoveNext
Loop
%>
<input type="hidden" name="count" value="<%=Count%>">
</form>
Sedan kan du hantera det på följande sätt:
<%
Count = Request.Form("Count")
For Index = 1 to Count
dbid = Request.form("dbid_" & index)
dbdag = Request.form("dbdag_" & index)
'osv...
strSQL = "INSERT INTO _P29 (...) VALUES (...)"
conn.Execute strSQL
Next
%>
Sv:insert into / update DB from querystring.form....?????
Jag vill alltså göra detta så dynamiskt som möjligt.. för att underlätta för framtida utbyggnader.. samt för att lära mig.
Jag var ju mest ute efter "insert into" kommandot, men det var det du hade censurerat i ditt inlägg...:)
helst av allt skulle jag vilja göra en tvådimensionell array av req.form värderna:
for i=0 to req.form.count
for j=0 to Ubound(instr(request.form(i),",")
xxArr(i)(j)= instr(request.form(i), ",")
next
next
och sen använda
Insert into _P29 (dagId, in, ut, ....) Values(dagIdArr(i)(j), inArr, utArr(i)(j))
Men då måste jag väl transpornera arrayen så att jag får första elementet i varje rad i samma kolumn om man säger så...
Finns nog enklare sätt att göra det, o det är det jag är ute efter.. mest för att lära mig.
Är det inte så att man kan använda arrayer i insert into?