Avatar billede vraa Nybegynder
03. juli 2003 - 16:24 Der er 8 kommentarer og
1 løsning

Upload problem

Jeg bruger nedenstående kode til at oploade 3 elementer(foto,salgsopstilling,regneark) plus tilhørende tekst.


<%
Set Upload = Server.CreateObject("Persits.Upload")
' Capture files
Upload.Save(server.mappath("../image/ejendomme/upload"))

' Obtain file object
Set foto = Upload.Files("foto")
Set regneark = Upload.Files("regneark")
Set salgsopstilling = Upload.Files("salgsopstilling")

  ' Build ODBC connection string
  Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../../db/db.mdb")

  ' If you use SQL Server, the connecton string must look as follows:
  ' Connect = "Driver=SQL Server;Server=MYSERVER;UID=sa;PWD=xxxxxxxxx"

  ' Build SQL INSERT statement
  SQL_beliggenhed = "INSERT INTO ejendomBeliggenhed(foto, vejnavn, vejnummer, postNummer, postBy, ejendomstype, status, salgsOpstilling, regneark) VALUES('"
  SQL_beliggenhed = SQL_beliggenhed & "image/ejendomme/upload/" & foto.Filename & "', '"
  SQL_beliggenhed = SQL_beliggenhed & Replace(Upload.Form("vejnavn"), "'", "''") & "', '"
  SQL_beliggenhed = SQL_beliggenhed & Replace(Upload.Form("vejnummer"), "'", "''") & "', '"
  SQL_beliggenhed = SQL_beliggenhed & Replace(Upload.Form("postNummer"), "'", "''") & "', '"
  SQL_beliggenhed = SQL_beliggenhed & Replace(Upload.Form("postBy"), "'", "''") & "', '"
  SQL_beliggenhed = SQL_beliggenhed & Replace(Upload.Form("ejendomstype"), "'", "''") & "', '"
  SQL_beliggenhed = SQL_beliggenhed & Upload.Form("status") & "', '"
  SQL_beliggenhed = SQL_beliggenhed & "image/ejendomme/upload/" & salgsopstilling.Filename & "', '"
  SQL_beliggenhed = SQL_beliggenhed & "image/ejendomme/upload/" & regneark.Filename & "')"

  SQL_beskrivelse = "INSERT INTO ejendomBeskrivelse(sagsnummer, beskrivelse, kortBeskrivelse, pris, grundAreal, samletBygningsareal) VALUES('"
  SQL_beskrivelse = SQL_beskrivelse & Replace(Upload.Form("sagsnummer"), "'", "''") & "', '"
  SQL_beskrivelse = SQL_beskrivelse & Replace(Upload.Form("tekst"), "'", "''") & "', '"
  SQL_beskrivelse = SQL_beskrivelse & Replace(Upload.Form("kortBeskrivelse"), "'", "''") & "', '"
  SQL_beskrivelse = SQL_beskrivelse & Replace(Upload.Form("pris"), "'", "''") & "', '"
  SQL_beskrivelse = SQL_beskrivelse & Replace(Upload.Form("grundAreal"), "'", "''") & "', '"
  SQL_beskrivelse = SQL_beskrivelse & Replace(Upload.Form("samletBygningsareal"), "'", "''") & "')"
 
  ' Save to database
foto.ToDatabase Connect, SQL_beliggenhed
regneark.ToDatabase connect, SQL_beskrivelse
Response.Redirect("tilfoj.asp?tilfoj=ok&ejendomstype=" & Upload.Form("ejendomstype") & "")
%>

Det virker også fint nok indtil man undlader og oploade én en de tre førnævnte elementer, så man f.eks. kun vil oploade foto og regneark.

Så får jeg denne fejlmeddelelse:
Error Type:
"Microsoft VBScript runtime (0x800A01A8)
Object required"

Er det muligt og flette nogle if-sætninger ind så de linier hvor fejlen sker ikke bliver udført hvis man ikke vil oploade alle tre elementer?
Avatar billede janemil Nybegynder
03. juli 2003 - 16:26 #1
On Error Resume Next
Set foto = Upload.Files("foto")
Set regneark = Upload.Files("regneark")
Set salgsopstilling = Upload.Files("salgsopstilling")
On Error GoTo 0
Avatar billede vraa Nybegynder
03. juli 2003 - 16:37 #2
Det kommer object required ved denne linie:
SQL_beliggenhed = SQL_beliggenhed & "image/ejendomme/upload/" & foto.Filename & "', '"
Avatar billede janemil Nybegynder
03. juli 2003 - 16:43 #3
On Error Resume Next
Set foto = Upload.Files("foto")
fotofilename = foto.Filename
Set regneark = Upload.Files("regneark")
regnearkfilename = regneark.Filename
Set salgsopstilling = Upload.Files("salgsopstilling")
salgsopstilling filename = salgsopstilling .Filename
On Error GoTo 0

Så kan du længere nede lavet noget ala

if fotofilename <> "" then
SQL_beliggenhed = SQL_beliggenhed & "image/ejendomme/upload/" & fotofilename
end if

og så videre
Avatar billede vraa Nybegynder
03. juli 2003 - 17:06 #4
har fulgt din anvisning, men nu skriver den:

object required ved denne linie:
foto.ToDatabase Connect, SQL_beliggenhed
Avatar billede janemil Nybegynder
03. juli 2003 - 17:13 #5
foto.ToDatabase - hvad laver du med den?
Skal du ikke bare indsætte din sql?

Men du vedjeg om der er et foto eller ej.
if fotofilename <> "" then
til databasen med foto
else

end if
Avatar billede janemil Nybegynder
03. juli 2003 - 17:15 #6
foto.ToDatabase - hvad laver du med den?
Skal du ikke bare indsætte din sql?

Men du ved jo om der er et foto eller ej.
if fotofilename <> "" then
'til databasen med foto
else
'til databasen uden foto
end if

Sorry for dobbelt post - ved ikke hvorfor den sendte.
Avatar billede vraa Nybegynder
03. juli 2003 - 17:23 #7
Problemet ligger i denne linie:
foto.ToDatabase Connect, SQL_beliggenhed

hvis der ikke er noget foto hvordan får jeg så sendt min SQL_beliggenhed afsted.
Avatar billede janemil Nybegynder
03. juli 2003 - 17:29 #8
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../../db/db.mdb")

Her laver du alt dit sql halløj.

myConn.Execute(SQL_beliggenhed)
myConn.Execute(SQL_beskrivelse)
Avatar billede vraa Nybegynder
17. marts 2004 - 13:16 #9
Jeg takker for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester