Antar att det är denna raden den pekar på:
dest="d:\archive\" & filename
Är du säker på att dem är rätt, annars skriv ut den:
response.write dest
------------------
Mostly Harmless
6 svar · 182 visningar · startad av evil.sid
tjena!
undrar om någon har en aning om varför inte denna kod fungerar på min server:
openConnection=true
errorMessage=errorMessage & "Following errors need to be corrected:<blockquote><blockquote><blockquote>"
ynt="<font color='#ff0000'>--></font> You need to "
if len(request.form("upload"))=0 then
openConnection=false
errorMessage=errorMessage & ynt & "select a file<br>" & vbcrlf
end if
if len(request.form("l_author"))=0 then
openConnection=false
errorMessage=errorMessage & ynt & "enter author of the file<br>" & vbcrlf
end if
if request.form("l_genre")=0 then
openConnection=false
errorMessage=errorMessage & ynt & "select genre of the file<br>" & vbcrlf
end if
if len(request.form("l_filesize"))=0 then
openConnection=false
errorMessage=errorMessage & ynt & "enter filesize of the file<br>" & vbcrlf
end if
if len(request.form("l_dur"))=0 then
openConnection=false
errorMessage=errorMessage & ynt & "enter duration of the file<br>" & vbcrlf
end if
if len(request.form("l_year"))=0 then
openConnection=false
errorMessage=errorMessage & ynt & "enter compilation year of the file<br>" & vbcrlf
end if
if request.form("l_descript")="[-->enter filename here<--] -->following description" or len(request.form("l_descript"))=0 then
openConnection=false
errorMessage=errorMessage & ynt & "submit a description of the file<br>" & vbcrlf
end if
if openConnection=true then
filename=right(request.form("upload"),len(request.form("upload"))-instrrev(request.form("upload"),"\"))
ext=right(request.form("upload"),len(request.form("upload"))-instrrev(request.form("upload"),"."))
set con=server.createobject("adodb.connection")
con.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\lemonride\db\database.mdb")
set rs=con.execute("select * from format")
do until rs.eof
if rs("f_format")=ext then
f_ext=rs("f_id")
exit do
rs.close
set rs=nothing
else
f_ext=21
rs.movenext
end if
loop
source=request.form("upload")
dest="d:\archive\" & filename
set rs=con.execute("select * from music")
sql="insert into music (l_descript,l_filesize,l_author,l_name,l_year,l_dur,l_format,l_genre) values ('"&request.form("l_descript")&"','"&request.form("l_filesize")&"','"&request.form("l_author")&"','"&filename&"',"&request.form("l_year")&",'"&request.form("l_dur")&"',"&f_ext&","&request.form("l_genre")&")"
do until rs.eof
if rs("l_name")=filename then
sql="update music set l_name='"&filename&"',l_decript='"&request.form("l_descript")&"',l_author='"&request.form("l_author")&"',l_year='"&request.form("l_year")&"',l_dur='"&request.form("l_dur")&"',l_format="&f_ext&",l_genre="&request.form("l_ genre")&",l_filesize='"&request.form("l_filesize")&"' where l_name='"&filename&"'"
exit do
else
sql="insert into music (l_descript,l_filesize,l_author,l_name,l_year,l_dur,l_format,l_genre) values ('"&request.form("l_descript")&"','"&request.form("l_filesize")&"','"&request.form("l_author")&"','"&filename&"',"&request.form("l_year")&",'"&request.form("l_dur")&"',"&f_ext&","&request.form("l_genre")&")"
end if
rs.movenext
loop
response.write "sql: " & sql & "<br>"
response.write "dest: " & dest
rad 102
con.execute(sql)
sedan är det ju resten
set rs=con.execute("select u_total from login where u_usr='"&session("u_usr")&"'")
con.execute("update login set u_total="&rs("u_total")+1&" where u_usr='"&session("u_usr")&"'")
session("u_total")=rs("u_total")+1
rs.close
set rs=nothing
call copy_file(source,dest)
response.redirect "../archive.asp"
con.close
set con=nothing
else
response.write errorMessage & "</blockquote></blockquote></blockquote>"
end if
end if
felmeddelandet jag får är:
"kan ej hitta angiven sökväg"
det fungerar om jag sitter fysiskt på servern men inte om jag sitter på någon annan dator...
[Redigerat av evil.sid den 09 jan 2002]
[Redigerat av evil.sid den 09 jan 2002]
[Redigerat av evil.sid den 09 jan 2002]
Antar att det är denna raden den pekar på:
dest="d:\archive\" & filename
Är du säker på att dem är rätt, annars skriv ut den:
response.write dest
------------------
Mostly Harmless
sql: update music set l_name='gM_Angry.xm',l_decript='[filnamnet] beskrivning',l_author='gammis',l_year='1345',l_dur='01:30',l_format=35,l_genre=136,l_filesize='5145kb' where l_name='gM_Angry.xm'
dest: d:\archive\gM_Angry.xm
Microsoft OLE DB Provider for ODBC Drivers fel '80040e10'
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.
/lemonride/scripts/doarchive.asp, line 102
och sub-filen ser ut så här:
sub copy_file(source,dest)
set fs=createobject("scripting.filesystemobject")
fs.copyfile source,dest
set fs=nothing
end sub
och det är rätt fysiska sökväg
[Redigerat av evil.sid den 09 jan 2002]
Det Access-fel du får beror oftast på att du anger ett kolumnnamn som inte finns i din tabell.
Det står
l_decript
det kanske skall vara l_descript som du använder i dina insert.
------------------
essentitia preter non sans multiplicandum
felet kvarstår...
Då vet jag inte, det brukar alltid vara problem med kolumnnamn som orsakar det felet.
------------------
essentitia preter non sans multiplicandum
tyckte att det såg lite rörigt ut så här kommer koden igen...
doarchive.asp
if openConnection=true then
filename=right(request.form("upload"),len(request.form("upload"))-instrrev(request.form("upload"),"\"))
ext=right(request.form("upload"),len(request.form("upload"))-instrrev(request.form("upload"),"."))
set con=server.createobject("adodb.connection")
con.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\lemonride\db\database.mdb")
set rs=con.execute("select * from format")
do until rs.eof
if rs("f_format")=ext then
f_ext=rs("f_id")
exit do
rs.close
set rs=nothing
else
f_ext=21
rs.movenext
end if
loop
source=request.form("upload")
dest="d:\archive\" & filename
set rs=con.execute("select * from music")
sql="insert into music (l_descript,l_filesize,l_author,l_name,l_year,l_dur,l_format,l_genre) values ('"&request.form("l_descript")&"','"&request.form("l_filesize")&"','"&request.form("l_author")&"','"&filename&"',"&request.form("l_year")&",'"&request.form("l_dur")&"',"&f_ext&","&request.form("l_genre")&")"
do until rs.eof
if rs("l_name")=filename then
sql="update music set l_name='"&filename&"',l_descript='"&request.form("l_descript")&"',l_author='"&request.form("l_author")&"',l_year='"&request.form("l_year")&"',l_dur='"&request.form("l_dur")&"',l_format="&f_ext&",l_genre="&request.form("l _genre")&",l_filesize='"&request.form("l_filesize")&"' where l_name='"&filename&"'"
exit do
else
sql="insert into music (l_descript,l_filesize,l_author,l_name,l_year,l_dur,l_format,l_genre) values ('"&request.form("l_descript")&"','"&request.form("l_filesize")&"','"&request.form("l_author")&"','"&filename&"',"&request.form("l_year")&",'"&request.form("l_dur")&"',"&f_ext&","&request.form("l_genre")&")"
end if
rs.movenext
loop
response.write "sql: " & sql & "<br>"
response.write "dest: " & dest
det här är rad 102 i doarchive.asp:
con.execute(sql)
sedan fortsätter koden:
set rs=con.execute("select u_total from login where u_usr='"&session("u_usr")&"'")
con.execute("update login set u_total="&rs("u_total")+1&" where u_usr='"&session("u_usr")&"'")
session("u_total")=rs("u_total")+1
rs.close
set rs=nothing
call copy_file(source,dest)
response.redirect "../archive.asp"
con.close
set con=nothing
else
response.write errorMessage & "</blockquote></blockquote></blockquote>"
end if
det här är sub.inc:
sub copy_file(source,dest)
set fs=createobject("scripting.filesystemobject")
fs.copyfile source,dest
set fs=nothing
end sub
och felmeddelandet är:
Körningsfel i Microsoft VBScript (0x800A004C)
Det går inte att hitta angiven sökväg.
/lemonride/inc/sub.inc, line 3
vidare så har jag (temporärt) givit fulständiga rättigheter till alla på hela partitionen
[Redigerat av evil.sid den 09 jan 2002]