- [kod]-taggar, vännen! :)
- vilken rad pekar felet på?
- Vilken version av aspsmartupload använder du?
Mvh
30 svar · 531 visningar · startad av Okkido
Använder aspSmartUpload till en webbshop och när jag försöker lägga till en produkt i shopen får jag felet:
Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method: 'mySmartUpload'
/admin/prod_add.asp, line 34
Koden ser ut så här i prod_add.asp:
<%
if Session("inloggad")<>"ja" then
response.write "<script language='javascript'>"
response.write "parent.top.location.href='../default.asp'"
response.write "</script>"
end if
if Request.QueryString("add")="ja" then
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.Upload
' markerades en fil?
Set File = mySmartUpload.Files("file")
filename=File.Filename
' annars spara (ÄNDRA SÖKVÄGEN HÄR)
File.SaveAs "../../data/" & File.Filename
Session("medelande")= "Filen sparades utan problem"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("../../data/shop.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
' ##### Addar ny kategori och gör den till ett id (om den ska)
if mySmartUpload("katid")="nykat" then
strSQL = "INSERT INTO Kat ( Kategori ) VALUES( '"& mySmartUpload("kategorinamn") &"' )"
Conn.Execute(strSQL)
Set RecSet3=Server.CreateObject("ADODB.Recordset")
SQL="SELECT * From Kat WHERE Kategori='"& mySmartUpload("kategorinamn") &"'"
Set RecSet3 = Conn.Execute(SQL)
katid=RecSet3("KatID")
else
katid=mySmartUpload("katid")
end if
' ##### Addar ny produkttyp och gör den till ett id (om den ska)
if mySmartUpload("sortid")="nysort" then
strSQL = "INSERT INTO Sort ( Sort ) VALUES( '"& mySmartUpload("sortnamn") &"' )"
Conn.Execute(strSQL)
Set RecSet5=Server.CreateObject("ADODB.Recordset")
SQL="SELECT * From Sort WHERE Sort='"& mySmartUpload("sortnamn") &"'"
Set RecSet5 = Conn.Execute(SQL)
sortid=RecSet5("SortID")
else
sortid=mySmartUpload("sortid")
end if
strSQL = "INSERT INTO Prod ( KatID, SortID, ArtNr, Color, Size, Rubrik, Besk, Pris, Bildnamn ) VALUES( '"& katid &"', '"& sortid &"', '"& mySmartUpload("artnr") &"', '"& mySmartUpload("color") &"', '"& mySmartUpload("size") &"', '"& mySmartUpload("rubrik") &"', '"& mySmartUpload("besk") &"', '"& mySmartUpload("pris") &"', '"& filename &"' )"
Conn.Execute(strSQL)
Conn.Close
Set Conn=nothing
Response.Redirect("prod_add_ok.asp")
end if
%>
Tacksam för hjälp så snabbt som möjligt :)
Mvh
Inte jag som kodat något, men han som kodar är inte tillgänlig och jag har nu 18 min på mig att få shopen att fungera igen. :x
<%
if Session("inloggad")<>"ja" then
response.write "<script language='javascript'>"
response.write "parent.top.location.href='../default.asp'"
response.write "</script>"
end if
if Request.QueryString("add")="ja" then
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.Upload
[blue]' markerades en fil?[/blue]
Set File = mySmartUpload.Files("file")
filename=File.Filename
[blue]' annars spara (ÄNDRA SÖKVÄGEN HÄR [/blue]
File.SaveAs "../../data/" & File.Filename
Session("medelande")= "Filen sparades utan problem"
Set Conn = Server.CreateObject("ADODB.Connection")
[b]Conn.Open "Provider=Microsoft.Jet.OleDB.4.0; Data Source=" & Server.MapPath("../../data/shop.mdb")[/b]
[blue]' Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("../../data/shop.mdb") [/blue]
Set RecSet = Server.CreateObject("ADODB.Recordset")
[blue]' ##### Addar ny kategori och gör den till ett id (om den ska) [/blue]
if mySmartUpload("katid")="nykat" then
strSQL = "INSERT INTO Kat ( Kategori ) VALUES( '"& mySmartUpload("kategorinamn") &"' )"
Conn.Execute(strSQL)
Set RecSet3=Server.CreateObject("ADODB.Recordset")
SQL="SELECT * From Kat WHERE Kategori='"& mySmartUpload("kategorinamn") &"'"
Set RecSet3 = Conn.Execute(SQL)
katid=RecSet3("KatID")
else
katid=mySmartUpload("katid")
end if
[blue]' ##### Addar ny produkttyp och gör den till ett id (om den ska) [/blue]
if mySmartUpload("sortid")="nysort" then
strSQL = "INSERT INTO Sort ( Sort ) VALUES( '"& mySmartUpload("sortnamn") &"' )"
Conn.Execute(strSQL)
Set RecSet5=Server.CreateObject("ADODB.Recordset")
SQL="SELECT * From Sort WHERE Sort='"& mySmartUpload("sortnamn") &"'"
Set RecSet5 = Conn.Execute(SQL)
sortid=RecSet5("SortID")
else
sortid=mySmartUpload("sortid")
end if
strSQL = "INSERT INTO Prod ( KatID, SortID, ArtNr, Color, Size, Rubrik, Besk, Pris, Bildnamn ) " & _
"VALUES( '"& katid &"', '"& sortid &"', '"& mySmartUpload("artnr") &"', '"& mySmartUpload("color") &"', '"& _
mySmartUpload("size") &"', '"& mySmartUpload("rubrik") &"', '"& mySmartUpload("besk") &"', '"& mySmartUpload("pris") &"', '"& filename &"' )"
Conn.Execute(strSQL)
Conn.Close
Set Conn=nothing
Response.Redirect("prod_add_ok.asp")
end if
%>
Jo, om det framgår att det inte är någonting ovanför i asp-dokumentet...
Jag kommer till en tomrad när jag räknar, därför vore det bra om du själv markerade felraden. Jag tror dock att det är detta:
strSQL = "INSERT INTO Kat ( Kategori ) VALUES( '"& mySmartUpload[b].Form[/b]("kategorinamn") &"' )"
Prova att lägga till det fetmarkerade.
mvh
Om det är problemet bör det även vara
strSQL = "INSERT INTO Sort ( Sort ) VALUES( '"& mySmartUpload[b].Form[/b]("sortnamn") &"' )"
[i]och[/i]
SQL="SELECT * From Sort WHERE Sort='"& mySmartUpload[b].Form[/b]("sortnamn") &"'"
[i]och[/i]
strSQL = "INSERT INTO Prod ( KatID, SortID, ArtNr, Color, Size, Rubrik, Besk, Pris, Bildnamn ) " & _
"VALUES( '"& katid &"', '"& sortid &"', '"& mySmartUpload[b].Form[/b]("artnr") &"', '"& mySmartUpload[b].Form[/b]("color") &"', '"& _
mySmartUpload[b].Form[/b]("size") &"', '"& mySmartUpload[b].Form[/b]("rubrik") &"', '"& mySmartUpload[b].Form[/b]("besk") & _
"', '"& mySmartUpload[b].Form[/b]("pris") &"', '"& filename &"' )"
Testade att lägga till Form, ingen ändring på felmeddelandet.
Kan du inte ta och kolla i koden vilken rad som är rad 34? Det skulle underlätta.
- Jag kan noll om ASP men är det inte att räkna 34 rader ner?
1. Varför har du fått i uppgift att fixa detta då?
2. Kör du lokalt eller mot webservern sidan ligger på?
3. Vad står det på rad34?
Koden börjar av det jag klistrade in så när jag räknar neråt så jag får det till att denna raden är rad 34:
if mySmartUpload("katid")="nykat" then
testa använda
If mySmartUpload[b].Form[/b]("katid") = "nykat" Then
Jag spinner bara vidare på snabelanders förslag nu...
JareMANNEN
Han som har byggt shoppen är inte tillgänglig och det är viktigt att shoppen kommer upp idag därför sitter jag och försöker hitta någon lösning, med hjälp av er goa gubbar :)
Bara på de ställen där det står mySmartUpload("någonting").
Alltså inte där någon annan metod på mySmartUpload kallas på.
mvh
<%
if Session("inloggad")<>"ja" then
response.write "<script language='javascript'>"
response.write "parent.top.location.href='../default.asp'"
response.write "</script>"
end if
if Request.QueryString("add")="ja" then
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.Upload
' markerades en fil?
Set File = mySmartUpload.Files("file")
filename=File.Filename
' annars spara (ÄNDRA SÖKVÄGEN HÄR)
File.SaveAs "../../data/" & File.Filename
Session("medelande")= "Filen sparades utan problem"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("../../data/shop.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
' ##### Addar ny kategori och gör den till ett id (om den ska)
if mySmartUpload("katid")="nykat" then
strSQL = "INSERT INTO Kat ( Kategori ) VALUES( '"& mySmartUpload.Form("kategorinamn") &"' )"
Conn.Execute(strSQL)
Set RecSet3=Server.CreateObject("ADODB.Recordset")
SQL="SELECT * From Kat WHERE Kategori='"& mySmartUpload.Form("kategorinamn") &"'"
Set RecSet3 = Conn.Execute(SQL)
katid=RecSet3("KatID")
else
katid=mySmartUpload("katid")
end if
' ##### Addar ny produkttyp och gör den till ett id (om den ska)
if mySmartUpload("sortid")="nysort" then
strSQL = "INSERT INTO Sort ( Sort ) VALUES( '"& mySmartUpload.Form("sortnamn") &"' )"
Conn.Execute(strSQL)
Set RecSet5=Server.CreateObject("ADODB.Recordset")
SQL="SELECT * From Sort WHERE Sort='"& mySmartUpload.Form("sortnamn") &"'"
Set RecSet5 = Conn.Execute(SQL)
sortid=RecSet5("SortID")
else
sortid=mySmartUpload("sortid")
end if
strSQL = "INSERT INTO Prod ( KatID, SortID, ArtNr, Color, Size, Rubrik, Besk, Pris, Bildnamn ) VALUES( '"& katid
&"', '"& sortid &"', '"& mySmartUpload.Form("artnr") &"', '"& mySmartUpload,Form("color") &"', '"&
mySmartUpload,Form("size") &"', '"& mySmartUpload.Form("rubrik") &"', '"& mySmartUpload.Form("besk") &"', '"&
mySmartUpload.Form("pris") &"', '"& filename &"' )"
Conn.Execute(strSQL)
Conn.Close
Set Conn=nothing
Response.Redirect("prod_add_ok.asp")
end if
%>
Sidan har förresten funkat när han som byggt den körde den lokalt.
Det är ju möjligt att han kör en annan version än den som ligger på servern?
Prova att lägga till .Form på de som saknas.
mvh,
Får fel på denna raden nu (Rad 75)
strSQL = "INSERT INTO Prod ( KatID, SortID, ArtNr, Color, Size, Rubrik, Besk, Pris, Bildnamn ) VALUES( '"& katid &"', '"& sortid &"', '"& mySmartUpload.Form("artnr") &"', '"& mySmartUpload,Form("color") &"', '"& mySmartUpload,Form("size") &"', '"& mySmartUpload.Form("rubrik") &"', '"& mySmartUpload.Form("besk") &"', '"& mySmartUpload.Form("pris") &"', '"& filename &"' )"