<%If Request.Form("HDDID") <> "" Then%>
RSObj("OrderID") = orderID
RSObj("HDDID") = Request.Form("HDDID")
RSObj("HDD") = Server.HTMLEncode(Request.Form("HDD"))
RSObj("HDDAnt") = Request.Form("HDDAnt")
TAL = Request.Form("HDDExkl")
For i = 1 To Len(TAL)
If Asc(Mid(TAL,i,1)) > 47 AND Asc(Mid(TAL,i,1)) < 58 then
var = var & Mid(TAL,i,1)
End If
Next
RSObj("HDDExkl") = var
<%Else%>
<%End If%>
I en asp fil är det ca 15 sådana satser, kan man bygga om det på något sätt som gör det mindre krävande för systemet?
RSObj.Source = "tabOrder"
RSObj.Open
RSObj.AddNew
RSObj("SaljarID") = 7
RSObj.Update
orderID = RSObj("OrderID")
Session("OrderID") = orderID
RSObj.Close
RSObj.Source = "tabOrderDator"
RSObj.Open
RSObj.AddNew
If Request.Form("CPUID") <> "" Then
If RSObj("OrderID") = orderID Then
Else
RSObj("OrderID") = orderID
End If
RSObj("CPUID") = Request.Form("CPUID")
RSObj("CPU") = Server.HTMLEncode(Request.Form("CPU"))
RSObj("CPUAnt") = Request.Form("CPUAnt")
TAL = Request.Form("CPUExkl")
For i = 1 To Len(TAL)
If Asc(Mid(TAL,i,1)) > 47 AND Asc(Mid(TAL,i,1)) < 58 then
var = var & Mid(TAL,i,1)
End If
Next
RSObj("CPUExkl") = var
Else
End If
If Request.Form("RAMID") <> "" Then
If RSObj("OrderID") = orderID Then
Else
RSObj("OrderID") = orderID
End If
RSObj("RAMID") = Request.Form("RAMID")
RSObj("RAM") = Server.HTMLEncode(Request.Form("RAM"))
RSObj("RAMAnt") = Request.Form("RAMAnt")
TAL = Request.Form("RAMExkl")
For i = 1 To Len(TAL)
If Asc(Mid(TAL,i,1)) > 47 AND Asc(Mid(TAL,i,1)) < 58 then
var = var & Mid(TAL,i,1)
End If
Next
RSObj("RAMExkl") = var
Else
End If
RSObj.Update
RSObj.Close
RSObj.Source = "tabOrderArt"
RSObj.Open
RSObj.AddNew
If Request.Form("ArtID") <> "" Then
RSObj("OrderID") = orderID
RSObj("ArtID") = Request.Form("ArtID")
RSObj("Artikel") = Server.HTMLEncode(Request.Form("Artikel"))
RSObj("ArtAnt") = Request.Form("ArtAnt")
TAL = Request.Form("ArtExkl")
For i = 1 To Len(TAL)
If Asc(Mid(TAL,i,1)) > 47 AND Asc(Mid(TAL,i,1)) < 58 then
var = var & Mid(TAL,i,1)
End If
Next
RSObj("ArtExkl") = var
Else
End If
RSObj.Update
RSObj.Close
Set RSObj = Nothing
Connection.Close
Det är här jag får det där felmeddelandet som jag har tidigare, det beror nämnligen på att jag inte får in orderID från tabOrder i tabOrderDator. Men jag har en liknande som ser ut så här:
RSObj.Source = "tabOrder"
RSObj.Open
RSObj.AddNew
RSObj("SaljarID") = 7
RSObj.Update
orderID = RSObj("OrderID")
Session("OrderID") = orderID
RSObj.Close
RSObj.Source = "tabOrderArt"
RSObj.Open
RSObj.AddNew
RSObj("OrderID") = orderID
RSObj("ArtID") = Request.Form("prodID")
RSObj("Artikel") = Server.HTMLEncode(Request.Form("ArtNamn"))
RSObj("ArtAnt") = Request.Form("Antal")
TAL = Request.Form("ArtExkl")
For i = 1 To Len(TAL)
If Asc(Mid(TAL,i,1)) > 47 AND Asc(Mid(TAL,i,1)) < 58 then
var = var & Mid(TAL,i,1)
End If
Next
RSObj("ArtExkl") = var
RSObj.Update
RSObj.Close
Set RSObj = Nothing
Connection.Close
Line 548 är:
If Request.Form("RAMID") <> "" Then
If RSObj("OrderID") = orderID Then
Else
RSObj("OrderID") = orderID
End If
RSObj("RAMID") = Request.Form("RAMID")
RSObj("RAM") = Server.HTMLEncode(Request.Form("RAM"))
RSObj("RAMAnt") = Request.Form("RAMAnt")
TAL = Request.Form("RAMExkl")
For i = 1 To Len(TAL)
If Asc(Mid(TAL,i,1)) > 47 AND Asc(Mid(TAL,i,1)) < 58 then
var = var & Mid(TAL,i,1)
End If
Next
RSObj("RAMExkl") = var
Else
End If
Nu ser jag att du kör med ett öppet recordset för att kunna plocka ut "senaste id". Men, om du prompt vill optimera sidan, så kan du i alla fall göra en vanlig SQL-INSERT/UPDATE i nästa steg. Det blir ingen jätteskillnad, men liiite...
Function InsertDB(id,namn,ant,exkl)
If Request.Form(id) <> "" Then
If RSObj("OrderID") = orderID Then
Else
RSObj("OrderID") = orderID
End If
RSObj(id) = Request.Form(id)
RSObj(namn) = Server.HTMLEncode(Request.Form(namn))
RSObj(ant) = Request.Form(ant)
TAL = Request.Form(exkl)
For i = 1 To Len(TAL)
If Asc(Mid(TAL,i,1)) > 47 AND Asc(Mid(TAL,i,1)) < 58 then
var = var & Mid(TAL,i,1)
End If
Next
RSObj(exkl) = var
Else
End If
End Function
Sub InsertDB(id,namn,ant,exkl)
If Request.Form(id) <> "" Then
If RSObj("OrderID") = orderID Then
Else
RSObj("OrderID") = orderID
End If
RSObj(id) = Request.Form(id)
RSObj(namn) = Server.HTMLEncode(Request.Form(namn))
RSObj(ant) = Request.Form(ant)
TAL = Request.Form(exkl)
For i = 1 To Len(TAL)
If Asc(Mid(TAL,i,1)) > 47 AND Asc(Mid(TAL,i,1)) < 58 then
var = var & Mid(TAL,i,1)
End If
Next
RSObj(exkl) = var
Else
End If
End Sub
Japp! Men problemet är väl att du inte kan få ut variabeln RSObj(exkl) utanför subben... då är det nog bättre att köra en funktion... och byt ut RSObj(exkl) mot InsertDB, eller nått...
Detta såklart om du skall ha tillbaks något... annars använder du din kod ovan...
Men, eftersom detta är sidan där allting läggs in i databasen så skall ju ingenting mer skrivas ut. Utan efter att kommandot är utfört så är det en redirect längst ner på sidan, så jag behöver aldrig få ut något.
Så då fungerar det perfekt säkert.
Tack!
262 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a