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
6 svar · 209 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
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.
felet kvarstår...
Då vet jag inte, det brukar alltid vara problem med kolumnnamn som orsakar det felet.
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]