webForumDet fria alternativet

delimeters inne i delimeters

ASP

14 svar · 316 visningar · startad av Pellsater

Medlem sedan juli 2000154 inlägg
Frågan#1

hur gör jag för att få värdet in i
value=""storleksID""
nedan

får inte till det

PS det kan var flera värden som ska in....

<%
sql2 = "SELECT tss.storlek, tss.storleksid from TblStorlekar as tss INNER JOIN tblRelstorlek as TRs ON TSS.StorleksId = TRs.StorleksId WHERE TRs.ProdId = "&pprodid

set rsSt=Server.CreateObject("ADODB.Recordset")
rsSt.Open sql2, conn
if not rsSt.eof then
      Response.Write "<br><font size=""2"" color=""white"">"

      While Not rsSt.EOF
         Response.Write "<input type=""text"" name=""tblStorlek"" size=""3"" class=""thisform"" value=""storleksID"">"
	     Response.Write "<br>"
         rsSt.MoveNext
      Wend

      Response.Write "</font>"
   end if

%>
Medlem sedan jan. 20032 285 inlägg
#2

Menar du så här?

<%
sql2 = "SELECT tss.storlek, tss.storleksid from TblStorlekar as tss INNER JOIN tblRelstorlek as TRs ON TSS.StorleksId = TRs.StorleksId WHERE TRs.ProdId = "&pprodid

set rsSt=Server.CreateObject("ADODB.Recordset")
rsSt.Open sql2, conn
if not rsSt.eof then
      Response.Write "<br><font size=""2"" color=""white"">"

      While Not rsSt.EOF
         Response.Write "<input type=""text"" name=""tblStorlek"" size=""3"" class=""thisform"" value=""" & rsSt("storleksID") & """>"
	     Response.Write "<br>"
         rsSt.MoveNext
      Wend

      Response.Write "</font>"
   end if

%>
Medlem sedan juli 2000154 inlägg
#3

japp men skulel behöva i de olika värdena i samma formfält med ett kommatecken emellan

Medlem sedan jan. 20032 285 inlägg
#4

Så här?

<%
sql2 = "SELECT tss.storlek, tss.storleksid from TblStorlekar as tss INNER JOIN tblRelstorlek as TRs ON TSS.StorleksId = TRs.StorleksId WHERE TRs.ProdId = "&pprodid

set rsSt=Server.CreateObject("ADODB.Recordset")
rsSt.Open sql2, conn
if not rsSt.eof then
      Response.Write "<br><font size=""2"" color=""white"">"

      While Not rsSt.EOF
         Response.Write "<input type=""text"" name=""tblStorlek"" size=""3"" class=""thisform"" value=""" & rsSt("storleksID") & ", " & objRS("storlek") & """>"
	     Response.Write "<br>"
         rsSt.MoveNext
      Wend

      Response.Write "</font>"
   end if

%>
Medlem sedan juli 2000154 inlägg
#5

nja!

mer som en loop i fomulärfälet där koden går igenom och skriver ut de olika storlekarna i samma fält, splittat med ett kommatecken... den koden du skrev funkade inte alls...

vad gör den?

Medlem sedan jan. 20032 285 inlägg
#6

Är det såhär du menar då?

<%
sql2 = "SELECT tss.storlek, tss.storleksid from TblStorlekar as tss INNER JOIN tblRelstorlek as TRs ON TSS.StorleksId = TRs.StorleksId WHERE TRs.ProdId = "&pprodid

set rsSt=Server.CreateObject("ADODB.Recordset")
rsSt.Open sql2, conn
if not rsSt.eof then
  Response.Write "<br><font size=""2"" color=""white"">"
  Response.Write "<input type=""text"" name=""tblStorlek"" size=""3"" class=""thisform"" value=""")
  intCount = 0

  While Not rsSt.EOF
    If intCount = 0 Then
      Response.Write(rsSt("storlek"))
      intCount = 1
    Else
      Response.Write(", " & rsSt("storlek"))
    End If
    rsSt.MoveNext
  Wend

  Response.Write(""">")
  Response.Write "</font>"
end if
%>
Medlem sedan juli 2000154 inlägg
#7

ja fast den klagar på rad 154 som ser ut så här

Response.Write "<input type=""text"" name=""tblStorlek"" size=""3"" class=""thisform"" value=""")

Medlem sedan jan. 20032 285 inlägg
#8

Pellsater skrev:

ja fast den klagar på rad 154 som ser ut så här

Response.Write "<input type=""text"" name=""tblStorlek"" size=""3"" class=""thisform"" value=""")

Ta bort parentesen i slutet. :)

Medlem sedan juli 2000154 inlägg
#9

jag får inga kommatecken mellan dee olika storlekarna.... och jag får en fel kod på nästa sida när jag uppdaterar produkten

Så här koden ut som tar hand om uppdateringen

<%
tblstorlek = Split(Request.form("tblstorlek"),",") 

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=d8318-shop;Password=@01#$hgdchgknihnllhdiodhlihmg"
IF isArray(tblstorlek) THEN 
sql3 = "Delete * from tblrelstorlek Where prodid = " & prodid
conn.Execute(sql3)

for x = 0 to ubound(tblstorlek)
sql3 = "INSERT INTO tblrelstorlek (storleksid, prodid) Values (" & Trim(tblstorlek(x)) & ", "& prodid &")"
conn.Execute(sql3)

next
End if

conn.close

%>

Felkoden är denna

ADODB.Connection.1 error '80004005' 

SQLState: 07001
Native Error Code: -3010
[INTERSOLV][ODBC SequeLink driver][ACCESS][Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/admin/admin_redigera_ok.asp, line 68
Medlem sedan juni 200032 967 inlägg
#10

Felmeddelandet brukar betyda att man har ett objektnamn i SQL-frågan som är felstavat/inte existerar.

När du får fel på SQL-frågor, skriv ut den färdiga SQL-frågan med Response.write så är det lättare att felsöka.

Mvh

Medlem sedan juli 2000154 inlägg
#11

Hittade ett fel... men jag behöver ha så den skriver ut kommatecken i formulärfältet det gör den inte med Sebbes kod HJÄLP

Medlem sedan juli 2000154 inlägg
#12

Fick ordning på det med kommatecken också!!
Men jag behöver ha ett tomt formulärsfält om det inte finns några stolekar i Db så att man kan skriva in om det finns

  While Not rsSt.EOF
    If intCount = 0 Then
      Response.Write(rsSt("storlek"))
      intCount = 1
    Else
      Response.Write(", " & rsSt("storlek"))
    End If
    rsSt.MoveNext
  Wend

hur skriver jag in det???

Medlem sedan juli 2000154 inlägg
#13

Är det nån som har en idé om hur jag ska göra?

Medlem sedan mars 20023 561 inlägg
#14

Det är ju bara att kolla om det finns några storlekar i databasen med en if-sats. Om det inte finns det skriver du ut ett formulärsfält, annars inte.

Medlem sedan juli 2000154 inlägg
#15

har försökt få in det i koden ovan men får inte till det

270 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)