20. oktober 2006 - 15:46
Der er
11 kommentarer og 1 løsning
SQL streng på flere linier
Er der en nemmere måde at skrive den SQL streng på?: strSQL = "update respond1 set sp1='" & Request.Form("r1") & "', sp2='" & Request.Form("r2") & "', sp3='" & Request.Form("r3") & "', sp4='" & Request.Form("r4") & "', sp5='" & Request.Form("r5") & "' where id = '" & Request.Form("id") &"'" Det er pga. jeg har knapt 50 spørgsmål, så det bliver en hammer lang sætning. Kan man gøre noget så det kommer til at ligge på flere linier?
Annonceindlæg fra Comm2ig
20. oktober 2006 - 15:56
#1
du kan bruge &_ til at dele linien op strSQL = "update respond1 set sp1='" & Request.Form("r1") & "', " &_ "sp2='" & Request.Form("r2") & "', " &_ "sp3='" & Request.Form("r3") & "', " &_ "sp4='" & Request.Form("r4") & "', " &_ "sp5='" & Request.Form("r5") & "' " &_ "where id = '" & Request.Form("id") &"'" andre fortrækker denne måde: strSQL = "update respond1 set sp1='" & Request.Form("r1") & "', " strSQL = strSQL & "sp2='" & Request.Form("r2") & "', " strSQL = strSQL & "sp3='" & Request.Form("r3") & "', " ...
20. oktober 2006 - 15:58
#2
Eller lave noget kode som genererer din sql.. strSQL = "update respond1 set " For i=1 To 50 strSQL = strSQL & "sp" & i & "='" & Request.Form("r" & i) & "' " Next strSQL = strSQL & "where id = '" & Request.Form("id") &"'"
20. oktober 2006 - 16:08
#3
Det virker fint med &_ til at dele linien med - takker. Idéen med at generere min SQL lyder genial, men jeg får desværre en fejl: Syntax error (missing operator) in query expression ''5' sp2='5' sp3='5' sp4='5' sp5='1''.
20. oktober 2006 - 16:15
#4
jep, der mangler nogle kommaer antal = 50 For i=1 To antal strSQL = strSQL & "sp" & i & "='" & Request.Form("r" & i) & "' " If i < antal Then strSQL = strSQL & ", " Next
20. oktober 2006 - 16:26
#5
Nu virker den sørme - :) Er der muligt at addere til den? Jeg har spørgsmål fra nr 1 til 44 som ovenstående virker på, men de sidste 5 spørgsmål er tekst felter.
23. oktober 2006 - 08:35
#6
Du kan sagtens tilføje flere linjer selv. antal = 44 For i=1 To antal if i>1 then strSQL = strSQL & ", sp" & i & "='" & Request.Form("r" & i) & "' " else strSQL = strSQL & "sp" & i & "='" & Request.Form("r" & i) & "' " end if Next strSQL = strSQL &", sp45='"& Request.Form("r45") &"'" strSQL = strSQL &", sp46='"& Request.Form("r46") &"'" strSQL = strSQL &", sp47='"& Request.Form("r47") &"'"
24. oktober 2006 - 20:59
#7
Takker for hjælpen :) - Poster i begge et svar?
25. oktober 2006 - 07:46
#8
De må gå til plx...
31. oktober 2006 - 20:25
#9
Plx - poster du et svar :)
01. januar 2007 - 15:36
#10
Svar??? ellers lukker jeg
02. januar 2007 - 08:11
#11
Giv ham et par dage til. Det er jo ferie for nogen :o)
17. januar 2007 - 09:38
#12
Lukker
Kurser inden for grundlæggende programmering