14. februar 2002 - 13:36
Der er
10 kommentarer
Form med tekst der gemmes i database samt upload af billeder/filer
Jeg har følgende problem: Skal gemme flere felter i database (tekst og textarea) og uploade 2 billeder og evt en film, samtidig med at den gemmer i databasen hvor filerne er blevet uploadet(f.eks. c:/asp/billed.jpg). Skal også have en side hvor man kan rette felter og uploade billeder/film samt rette i databasen placering af hvor de er uploadet. Når jeg selv prøver får jeg følgende fejl: Request object error 'ASP 0207 : 80004005' Cannot use Request.Form collection after calling BinaryRead. Jeg har spurgt to af mine lærere og de har problemer med at komme med et svar. jeg har brug for ekspert hjælp
Annonceindlæg fra Kingston Technology
14. februar 2002 - 13:38
#1
Kan du ligge koden ud, så jeg kan se den??!!
14. februar 2002 - 13:38
#2
.
14. februar 2002 - 13:42
#3
Du kan ikke bruge Request.Form på en BinaryRead. Du skal skrive Upload.Form("felt_navn") istedet for Request.Form("felt_navn") alle de steder du har skrevet en Request.Form.
14. februar 2002 - 13:57
#4
Jeg har installeret ASPSimpleUpload for at få upload til at virke, her er koden på side: <!-- #include file="include/top.asp" --> <!-- #include file="include/database.asp" --> <html> <head> <title>Leksikon</title> <link rel="STYLESHEET" type="text/css" href="css/fisk.css"> </head> <body topmargin="10"> <form action="tilfoej_fisk.asp?save=yes" enctype="multipart/form-data" method="post"> <table cellspacing="0" cellpadding="2" border="0"><tr> <td valign="top" bgcolor="#E0DFE3" height="30"><b> Fiskenavn:<br> (DANSK) </b></td> <td bgcolor="#E0DFE3" height="30"><input type="text" name="Fiskenavn_DK" size="50" maxlength="50"></tr><tr> <td valign="top" bgcolor="#EFEFEF" height="30"> <b> Fiskenavn:<br> (TYSK)</b></td> <td bgcolor="#EFEFEF" height="30"><input type="text" name="Fiskenavn_DE" size="50" maxlength="50"></tr><tr> <td valign="top" bgcolor="#E0DFE3" height="30"> <b> Fiskenavn:<br> (ENGELSK) </b></td> <td bgcolor="#E0DFE3" height="30"><input type="text" name="Fiskenavn_GB" size="50" maxlength="50"></tr><tr> <td valign="top" bgcolor="#EFEFEF" height="25"> <b> Fiskens latinnavn: </b></td> <td bgcolor="#EFEFEF" height="25"><input type="text" name="Fisklatinnavn" size="50" maxlength="50"></tr><tr> <td valign="top" bgcolor="#E0DFE3" height="19"> <b> Navngiver:</b></td> <td bgcolor="#E0DFE3" height="19"><input type="text" name="Navngiver" size="50" maxlength="50"></tr><tr> <td valign="top" bgcolor="#EFEFEF" height="30"> <b>År for navngivningen fandt sted:</b></td> <td bgcolor="#EFEFEF" height="30"><input type="text" name="Aar" size="12"> (f.eks. 1955)</tr><tr> <td valign="top" bgcolor="#E0DFE3" height="119"> <b> Kendetegn:<br> (DANSK)</b></td> <td bgcolor="#E0DFE3" height="119"><textarea cols="90" rows="5" name="Kendetegn_DK"></textarea></tr><tr> <td valign="top" bgcolor="#EFEFEF" height="119"> <b> Kendetegn:<br> (TYSK)</b></td> <td bgcolor="#EFEFEF" height="119"><textarea cols="90" rows="5" name="Kendetegn_DE"></textarea></tr><tr> <td valign="top" bgcolor="#E0DFE3" height="119"> <b> Kendetegn:<br> (ENGELSK) </b></td> <td bgcolor="#E0DFE3" height="119"><textarea cols="90" rows="5" name="Kendetegn_GB"></textarea></tr><tr> <td valign="top" bgcolor="#EFEFEF" height="25"> <b> Max længde for fisken:</b></td> <td bgcolor="#EFEFEF" height="25"><input type="text" name="Maxlaengde" size="12"> cm.</tr><tr> <td valign="top" bgcolor="#E0DFE3" height="119"> <b> Beskrivelse:<br> (DANSK) </b></td> <td bgcolor="#E0DFE3" height="119"><textarea cols="90" rows="5" name="Beskrivelse_DK"></textarea></tr><tr> <td valign="top" bgcolor="#EFEFEF" height="119"> <b> Beskrivelse:<br> (TYSK) </b> </td> <td bgcolor="#EFEFEF" height="119"><textarea cols="90" rows="5" name="Beskrivelse_DE"></textarea></tr><tr> <td valign="top" bgcolor="#E0DFE3" height="119"> <b> Beskrivelse:<br> (ENGELSK) </b></td> <td bgcolor="#E0DFE3" height="119"><textarea cols="90" rows="5" name="Beskrivelse_GB"></textarea></tr><tr> <td valign="top" bgcolor="#EFEFEF" height="26"> <b> Art navn:</b></td> <td bgcolor="#EFEFEF" height="26"> <select size="1" name="artnavn"> <option>-- Vælg Art --</option> <% strSQL = "Select Artnavn_DK " strSQL = strSQL & "FROM art " set ObjRS = Conn.execute(strSQL) Do until ObjRs.EOF %> <option><%=ObjRS("Artnavn_DK")%></option> <% ObjRS.movenext loop %> </select> </tr><tr> <td valign="top" bgcolor="#E0DFE3" height="25"> <b> Akvarienummer:</b></td> <td bgcolor="#E0DFE3" height="25"><input type="text" name="Akvarienummer" size="12"> (Mellem 1 og ?)</tr><tr> <td valign="top" bgcolor="#EFEFEF" height="25"> <b>Upload billede af fisk: </b></td> <td bgcolor="#EFEFEF" height="25"> <input type="file" name="billedefisk" size="45" maxlength="50"> </tr><tr> <td valign="top" bgcolor="#E0DFE3" height="25"> <b>Upload billede af kort: </b></td> <td bgcolor="#E0DFE3" height="25"> <input type="file" name="Billedekort" size="45" maxlength="50"> </tr><tr> <td valign="top" bgcolor="#EFEFEF" height="25"> <b> Evt. upload film om fisk:</b></td> <td bgcolor="#EFEFEF" height="25"> <input type="file" name="Film" size="45" maxlength="50"> </tr><tr> <td valign="top" bgcolor="#E0DFE3" height="92"> <br> <input type="image" value="Submit" border="0" src="grafik/opdater.gif" align="absmiddle" width="24" height="24"> Tilføj </td> <td bgcolor="#E0DFE3" height="92"> </tr></table> </form> <% If Request.QueryString("save")="yes" then Dim ObjRs, StrSQL, Conn Dim upl, NewFileName Set upl = Server.CreateObject("ASPSimpleUpload.Upload") If Len(upl.Form("billedefisk")) > 0 Then NewFileName = "multimedie/fisk/" & upl.ExtractFileName(upl.Form("billedefisk")) If upl.SaveToWeb("billedefisk", NewFileName) Then Response.Write("File successfully written to disk.") Else Response.Write("There was an error saving the file to disk.") End If End If Const adOpenKeyset = 1 Const adLockOptimistic = 3 Set ObjRS = Server.CreateObject("ADODB.RecordSet") strSQL = "Select * " strSQL = strSQL & "FROM fisk " ObjRS.Open strSQL, Conn, adOpenKeyset, adLockOptimistic ObjRS.AddNew ObjRS("Fiskenavn_DK") = Request.form("Fiskenavn_DK") ObjRS("Fiskenavn_DE") = Request.form("Fiskenavn_DE") ObjRS("Fiskenavn_GB") = Request.form("Fiskenavn_GB") ObjRS("Fisklatinnavn") = Request.form("Fisklatinnavn") ObjRS("Navngiver") = Request.form("Navngiver") ObjRS("Aar") = Request.form("Aar") ObjRS("Kendetegn_DK") = Request.form("Kendetegn_DK") ObjRS("Kendetegn_DE") = Request.form("Kendetegn_DE") ObjRS("Kendetegn_GB") = Request.form("Kendetegn_GB") ObjRS("Maxlaengde") = Request.form("Maxlaengde") ObjRS("Beskrivelse_DK") = Request.form("Beskrivelse_DK") ObjRS("Beskrivelse_DE") = Request.form("Beskrivelse_DE") ObjRS("Beskrivelse_GB") = Request.form("Beskrivelse_GB") ObjRS("Artnavn_DK") = Request.form("Artnavn_DK") ObjRS("Akvarienummer") = Request.form("Akvarienummer") ObjRS("Billedefisk") = Request.form("Billedefisk") ObjRS("Billedekort") = Request.form("Billedekort") ObjRS("Film") = Request.form("Film") ObjRS.Update ObjRS.Close Set ObjRS = Nothing Conn.Close set Conn = Nothing response.redirect "index.asp" end if %> </body>
14. februar 2002 - 14:53
#5
This is typically caused by making a call to Request.Form on the same page where you are using the ASPSimpleUpload object. The HTTP file transfer protocol requires that the posting form's enctype be set to multipart/form-data. This enctype is not compatible with ASP's Request.Form collection. Corrective Action: Do not use the Request.Form object on the same page that you are using to process your uploads. Use the ASPSimpleUpload object's Form or FormEx object instead. For example, you would replace: Response.Write Request.Form("Text1") with Response.Write upl.Form("Text1")
18. februar 2002 - 09:53
#6
Det virker ikke! Vi får følgende fejl: Der opstod en Microsoft VBScript-kørselsfejl error '800a000d' Typerne stemmer ikke overens Fejlen kommer allerede i første linie hvor vi bruger upl.form i stedet for Request.Form. Hvad kan der være galt???
18. februar 2002 - 10:24
#7
jeg har svaret om lidt. Mads fra jyllinge
18. februar 2002 - 11:48
#8
Det har noget at gøre med de type (String og Integer) du forsøger at smide i din DB. Hvis dine felter i din DB er af type tal skal du ikke have pinger rundt om, men hvis det er en tekstreng skal du have pinger. Eksempel med tal sql = "INSERT INTO table (Alder,Aar) VALUES ("&""&Upload.form("alder")&","&Upload.Form("aar")&")" Conn.Execute(sql) Eksempel med tekst: sql = "INSERT INTO table (Navn,Adresse) VALUES ("&"'"&Upload.Form("navn")&"', '"&Upload.Form("adresse")&"')" Conn.Execute(sql) Disse to kan selvfølgelig kombineres i den grad du har tal- og tekst-felter.
18. februar 2002 - 14:31
#9
hmm..problemet virker bekendt, jeg skal lige checke min gamle file, da jeg har arbejdet mange steder - blandt andet hos Novo nordisk, glostrup Parkvæsen og flensted smed som chef for deres IT afd. - års tallene kan jeg lige mail senere. Mads
18. februar 2002 - 14:54
#10
Jeg har i 98 hos Novo og lidt hos glostrup Parkvæsen samt i 2001 arbejde jeg for Flensted smed og stadig for Glostrup Parkvæsen.
Mens jeg finde filerne, kan du med stor glæde finde indre ro i denne side
http://www.saibaba.org/ Mads fra Jyllinge
Kurser inden for grundlæggende programmering