webForumDet fria alternativet

Odefinerat fel

ASP

12 svar · 405 visningar · startad av Melea

Medlem sedan juli 20033 147 inlägg
Frågan#1

Hej igen! :D

Jag håller på att fixa ett uploadscript, men de strular lite smått..
Den klarar av att INSERT'a allt i databasen men när det väl kommen till upload processen så funkar det inte :(

Det står:

Feltyp:
Persits.Upload.1 (0x800A0001)
Odefinierat fel

på rad 20, alltså där Count = Upload.Save(".. and so on står...
skulle också vilja ha hjälp med, om det går att göra om det här uploadscriptet så man kan skriva:
Count = Upload.Save("http://localhost/upload") också, detta funkar inte i nuläget :(

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Driver={MySQL ODBC 3.51 Driver};server=localhost;uid=xxx;pwd=xxx;database=test" 
Set RecSet = Server.CreateObject("ADODB.Recordset")

SQL = "INSERT INTO test(info) VALUES ('" & Request.Form("info") & "') "
Connect.Execute sql,,128

Set Upload = Server.CreateObject("Persits.Upload")
Count = Upload.Save("C:\Inetpub\wwwroot\upload")

Response.Redirect "form1.asp"
%>
Medlem sedan sep. 20005 700 inlägg
#2

Sök på "Odefinierat fel" i ASP, VBScript-forumet så får du en hel drös med träffar.

Medlem sedan juni 20015 009 inlägg
#3

Dum fråga kanske, men du har sätt till att du har Komponenten Persits installerad?

Medlem sedan juli 20033 147 inlägg
#4

Ja den är installerad :)

Medlem sedan juni 200032 967 inlägg
#5

Har du satt korrekta rättigheter på mappen upload för webbserveranvändaren?

Medlem sedan juni 200032 967 inlägg
#6

Count = Upload.Save("http://localhost/upload") också, detta funkar inte i nuläget

Du kan inte ladda upp till http-adresser. Varför vill du göra så?

Medlem sedan juli 20033 147 inlägg
#7

Om du menar Egenskaper > Säkerhet så är allting ikryssat

Medlem sedan juni 200032 967 inlägg
#8

Melea skrev:

Om du menar Egenskaper > Säkerhet så är allting ikryssat

För IUSR_XXX ?

Medlem sedan juli 20033 147 inlägg
#9

Ja, uploadscriptet funkar om jag inte har med insert grejen...

Medlem sedan juni 200032 967 inlägg
#10

Aha. Jag tror att det beror på att du använder Request.Form i SQL-frågan. Det brukar få de flesta uploadkomponenter att gå bärsärk.

Det skall finnas en egen metod i uploadkomponenten som du ska använda i stället. Den brukar heta .Form. Då borde det se ut så här:

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Driver={MySQL ODBC 3.51 Driver};server=localhost;uid=xxx;pwd=xxx;database=test" 
Set RecSet = Server.CreateObject("ADODB.Recordset")

Set Upload = Server.CreateObject("Persits.Upload")
Count = Upload.Save("C:\Inetpub\wwwroot\upload")

SQL = "INSERT INTO test(info) VALUES ('" & [b]Upload[/b].Form("info") & "') "
Connect.Execute sql,,128

Response.Redirect "form1.asp"
%>

Kontrollera dock med komponenttillverkarens hemsida eller lämplig dokumentation om den inte har metoden .Form, för där lär finnas motsvarande.

Mvh

Medlem sedan juli 20033 147 inlägg
#11

Jaaaaaa!! Det fungerar ;) Tack så hemskt mkt

Ha en bra dag :birp

Medlem sedan juni 200032 967 inlägg
#12

Du skapar också ett recordset du inte använder här. Använder du det senare i koden? Annars, släng bort raden, det är bara onödigt att skapa objekt om man inte ska använda dem.

mvh

Medlem sedan juli 20033 147 inlägg
#13

Ah, finns det något sätt i det här scriptet att spara filnamnet i databasen?

258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)