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
6 svar · 173 visningar · startad av aleborg
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.
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
Tack det funkade, men hur gör jag med det här?:
rs("Pris")=mySmartUpload.Form("pris")
Nu har du tappat mig. Behöver lite mer info för att förstå vad du menar.
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
%>
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 , då jag själv aldrig skulle använda addnew utan göra insert direkt med sql i stället.
Det funkade!
Tack!