Avatar billede cardinale Nybegynder
27. november 2002 - 13:45 Der er 13 kommentarer og
1 løsning

for each item...

Jeg bruger følgende for at udtrække alle mine data fra en form. Denne form bliver genereret dynamisk fra en db.
<%
for each item in Request.form()
strOrderItem = cstr(item)
itemInfo = request.form(item)
if iteminfo <> "" then
response.write "<br>[ " & strOrderItem & " ][ " & iteminfo  & " ]"
end if
next
%>

Den henter også alle mine data og udskriver dem, men hvordan får jeg dem indsat i min db? Jeg vil have dem indsat som en tekststreng med <br> efter hver item, så når jeg senere henter posten fra db ser den ud som min response.write.
Avatar billede soes Nybegynder
27. november 2002 - 14:37 #1
if iteminfo <> "" then
response.write "<br>[ " & strOrderItem & " ][ " & iteminfo  & " ]"
Conn.Execute("INSERT INTO [tabel] (OrdreItem, ItemInfo) VALUES ("& strOrdreItem &", "& ItemInfo &")")
end if
Avatar billede stoffer Nybegynder
27. november 2002 - 14:38 #2
Du laver bare en ínsert SQL sætning?
Avatar billede soes Nybegynder
27. november 2002 - 14:39 #3
ups, lige en lille fejl, sorry.
if iteminfo <> "" then
response.write "<br>[ " & strOrderItem & " ][ " & iteminfo  & " ]"
Conn.Execute("INSERT INTO [tabel] (OrdreItem, ItemInfo) VALUES ('<br>["& strOrdreItem &"]', '["& ItemInfo &"]')")
end if
Avatar billede cardinale Nybegynder
27. november 2002 - 14:42 #4
Soes: Dit svar laver det ikke X-antal poster i db?? Jeg vil have det kørt sammen til en tekst der gemmes i en post.
Avatar billede cardinale Nybegynder
27. november 2002 - 14:43 #5
én tekst i én post <-- lettere at forstå
Avatar billede soes Nybegynder
27. november 2002 - 14:51 #6
ohhh, jeg havde misforstaaet dig.

if iteminfo <> "" then
strTmp = "<br>[ " & strOrderItem & " ][ " & iteminfo  & " ]"
strSave = strSave & strTmp
end if
Conn.Execute("INSERT INTO DinTabel (felt) VALUES ('"& strSave &"')")
kunne dette bruges?
Avatar billede benson Nybegynder
27. november 2002 - 14:53 #7
Du skal vel bare smide soes' kode ind i din For - Next løkke ?
Avatar billede benson Nybegynder
27. november 2002 - 14:56 #8
Personligt ville jeg foretrække at lave en batch indsætning af et recordsæt.

Så har jeg mulighed for at fortryde hvis noget går galt, og evt. starte forfra. Dermed er der helle ingen poster der bliver indsat 2 gange !!
Avatar billede cardinale Nybegynder
27. november 2002 - 15:03 #9
Nu misforstår du mig igen. :)

Der er mange poster i tabellen og løkken skal løbes igennem. Alle disse poster skal samles i én tekststreng som skal smides ind i én post i db...
Avatar billede benson Nybegynder
27. november 2002 - 15:07 #10
Nå så er det jo soes' forslag du skal bruge. Du skal dog selv sørge for at strengen bygges op i løkken.

Erstat din eksisterende if - then sætning med denne:

if iteminfo <> "" then
  strTmp = "<br>[ " & strOrderItem & " ][ " & iteminfo  & " ]"
  strSave = strSave & strTmp
  response.write strTmp
end if

Og efter For-Next løkken indsætter du i db'en

Conn.Execute("INSERT INTO DinTabel (felt) VALUES ('"& strSave &"')")

HUSK at åbne og lukke db'en
Avatar billede soes Nybegynder
27. november 2002 - 15:09 #11
<%
for each item in Request.form()
strOrderItem = cstr(item)
itemInfo = request.form(item)
if iteminfo <> "" then
response.write "<br>[ " & strOrderItem & " ][ " & iteminfo  & " ]"
strSave = strSave & "<br>[ " & strOrderItem & " ][ " & iteminfo  & " ]"
end if
next

if strSave <> "" THEN
Conn.Execute("INSERT INTO DinTabel (felt) VALUES ('"& strSave & "'))
End If
%>
Avatar billede cardinale Nybegynder
27. november 2002 - 15:12 #12
Nemmerlig! Tark soes. *KYS* <-- hvis du er en pige....
Avatar billede cardinale Nybegynder
27. november 2002 - 15:12 #13
Oops og det er du ikke Søren Søndergård....

:(
Avatar billede soes Nybegynder
27. november 2002 - 16:35 #14
nope, hehe
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester