webForumDet fria alternativet
Logga in / Bli medlem

igen :(

ASP

6 svar · 173 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Trådstart#1

Börjar jag bli tjatig? :)
Kan ju säga att jag har lärt mig jättemycket från Er nu ;)

Har ett litet problem med ett uppdate utryck

<%
dim Conn
dim strProduktnamn, strParadtext, strBeskr, strBeskr2, strBeskr3
dim strPris, strHojd, strBredd, strDjup, strArtnr, strSsfintyg, strKategID
dim strEngProduktnamn, strEngParadtext, strEngBeskr, strEngBeskr2, strEngBeskr3, strEngPris, strEngHojd, strEngBredd, strEngDjup, strEngSsfintyg
strProduktnamn = Replace (Request.Form("rubr"), "'", "''")
strParadtext = Replace (Request.Form("paradtext"), "'", "''")
strBeskr = Replace (Request.Form("beskr"), "'", "''")
strBeskr2 = Replace (Request.Form("beskr2"), "'", "''")
strBeskr3 = Replace (Request.Form("beskr3"), "'", "''")
strPris = Request.Form("pris")
strHojd = Replace (Request.Form("hojd"), "'", "''")
strBredd = Replace (Request.Form("bredd"), "'", "''")
strDjup = Replace (Request.Form("djup"), "'", "''")
strArtnr = Replace (Request.Form("artnr"), "'", "''")
strSsfintyg = Replace (Request.Form("ssf"), "'", "''")
strKategID = Replace (Request.Form("kategid"), "'", "''")
strEngProduktnamn = Replace (Request.Form("rubr2"), "'", "''")
strEngParadtext = Replace (Request.Form("paradtext2"), "'", "''")
strEngBeskr = Replace (Request.Form("beskreng"), "'", "''")
strEngBeskr2 = Replace (Request.Form("beskr2eng"), "'", "''")
strEngBeskr3 = Replace (Request.Form("beskr3eng"), "'", "''")
strEngPris = Request.Form("pris2")
strEngHojd = Replace (Request.Form("hojd2"), "'", "''")
strEngBredd = Replace (Request.Form("bredd2"), "'", "''")
strEngDjup = Replace (Request.Form("djup2"), "'", "''")
strEngSsfintyg = Replace (Request.Form("ssf2"), "'", "''")
conn.Execute("UPDATE Produkter SET Produktnamn = '" & strProduktnamn & "', Paradtext = '" & strParadtext & "', Beskr = '" & strBeskr & "', Beskr2 = '" & strBeskr2 & "', Beskr3 = '" & strBeskr3 & "', Pris = " & strPris & ", Hojd = '" & strHojd & "', Bredd = '" & strBredd & "', Djup = '" & strDjup & "', Artnr = '" & strArtnr & "', Ssfintyg = '" & strSsfintyg & "', KategID = '" & strKategID & "', EngProduktnamn = '" & strEngProduktnamn & "', EngParadtext = '" & strEngParadtext & "', EngBeskr = '" & strEngBeskr & "', EngBeskr2 = '" & strEngBeskr2 & "', EngBeskr3 = '" & strEngBeskr3 & "', EngPris = " & strEngPris & ", EngHojd = '" & strEngHojd & "', EngBredd = '" & strEngBredd & "', EngDjup = '" & strEngDjup & "', EngSsfintyg = '" & strEngSsfintyg & "' Where ID ="& Request.QueryString("ID") &" ")
%>

Pris och Engpris är tal, datorn påstår att det är ett Syntaxfel i UPDATE-uttryck.
Line 44

Vilket är just update satsen :)
Det här händer bara när man lämnar Pris och EngPris tomma. Dom är satta att inte vara obligatoriska i db'n.

Medlem sedan dec. 200012 464 inlägg
#2

Om du har med kolumnerna i set-listan så måste du också ange ett värde för dem. Dvs om pris är tomt så får man ersätta det med null (eller noll beroende på vad du vill)


  If len(strPris) = 0 Then
     strPris = "null"
  End If
Medlem sedan jan. 20013 341 inlägg
#3

Tack det funkade, men hur gör jag med det här?:
rs("Pris")=mySmartUpload.Form("pris")

Medlem sedan dec. 200012 464 inlägg
#4

Nu har du tappat mig. Behöver lite mer info för att förstå vad du menar.

Medlem sedan jan. 20013 341 inlägg
#5

Har samma problem med det här:

<%
dim Conn
set rs= Server.CreateObject("ADODB.Recordset")
SQL= "SELECT * FROM Produkter WHERE 1=2"
rs.Open SQL,Conn,1,2
rs.AddNew
For each file In mySmartUpload.Files
rs(file.name)=file.filename
next
rs("Produktnamn")=mySmartUpload.Form("rubr")
rs("Paradtext")=mySmartUpload.Form("paradtext")
rs("EngProduktnamn")=mySmartUpload.Form("rubr2")
rs("EngParadtext")=mySmartUpload.Form("paradtext2")
rs("Paradbild")=mySmartUpload.Files(1).Filename
rs("Beskr")=mySmartUpload.Form("beskr")
rs("Beskr2")=mySmartUpload.Form("beskr2")
rs("Beskr3")=mySmartUpload.Form("beskr3")
rs("EngBeskr")=mySmartUpload.Form("beskreng")
rs("EngBeskr2")=mySmartUpload.Form("beskr2eng")
rs("EngBeskr3")=mySmartUpload.Form("beskr3eng")
rs("Pris")=mySmartUpload.Form("pris")
rs("Hojd")=mySmartUpload.Form("hojd")
rs("Bredd")=mySmartUpload.Form("bredd")
rs("Djup")=mySmartUpload.Form("djup")
rs("EngPris")=mySmartUpload.Form("pris2")
rs("EngHojd")=mySmartUpload.Form("hojd2")
rs("EngBredd")=mySmartUpload.Form("bredd2")
rs("EngDjup")=mySmartUpload.Form("djup2")
rs("Artnr")=mySmartUpload.Form("artnr")
rs("Fotografi")=mySmartUpload.Files(2).Filename
rs("Fotografi1")=mySmartUpload.Files(3).Filename
rs("Fotografi2")=mySmartUpload.Files(4).Filename
rs("Ssfintyg")=mySmartUpload.Form("ssf")
rs("EngSsfintyg")=mySmartUpload.Form("ssf2")
rs("KategID")=mySmartUpload.Form("kategid")
rs("Pdffil")=mySmartUpload.Files(5).Filename
rs.Update
%>
Medlem sedan dec. 200012 464 inlägg
#6

Om du använder addnew så borde det väl fungera att utelämna numeriska värden i de fall de är tomma.

  if len(mySmartUpload.Form("pris")) > 0 then
  rs("Pris")=mySmartUpload.Form("pris")
  End If

Det här är bara en gissning :h , då jag själv aldrig skulle använda addnew utan göra insert direkt med sql i stället.

Medlem sedan jan. 20013 341 inlägg
#7

Det funkade!
Tack!

257 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)