Avatar billede Slettet bruger
13. august 2005 - 14:58 Der er 52 kommentarer og
1 løsning

Fejl ved ASPsmartUpload

Kan ikke få mit billede uploadnings script til at virke ?


Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.

/admin/nyhed_opret_handler.asp, line 25

---------------------------------------------------------------
<!--#include file="../conn.asp"-->
<%

  Dim mySmartUpload
  Dim file
  Dim Conn
  Dim strSQL
  Dim Rs
  Dim intCount
  intCount=0
       

  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")


  mySmartUpload.Upload


  strSQL = "SELECT FILENAME,FILE FROM nyheder"

  Set Rs = Server.CreateObject("ADODB.recordset")
  Set Rs.ActiveConnection = Conn
  Rs.Source = strSQL
  Rs.LockType = 3
  Rs.Open


  For each file In mySmartUpload.Files

      If not file.IsMissing Then


        Rs.AddNew
        file.FileToField oRs.Fields("billede")
        Rs("FILENAME") = file.FileName
        Rs("skrevet_af") = Request.form("skrevet_af")
        Rs("nyhed") = Request.form("nyhed")
        Rs("rang") = Request.form("rang")
        Rs("kategori") = Request.form("kategori")
        Rs("dato") = FormatDateTime(Now, vbShortDate)
        Rs.Update
        intCount = intCount + 1
      End If
  Next


  Response.Write(intCount & " file(s) uploaded.<BR>")
  Response.Write("<font face='Verdana' size='1'>Nyheden er oprettet !</font>")


  Rs.Close
  Conn.Close
  Set Rs = Nothing
  Set Conn = Nothing
%>
Avatar billede busschou Praktikant
13. august 2005 - 15:01 #1
den fejl betyder normalt at man har navngivet i dit tilfælde 2 kolonner forkert i sin sql i forhold til databasen
Men hvornår sætter du din conn? og hvorfor laver du en select når du skal indsætte en ny?
Avatar billede Slettet bruger
13. august 2005 - 15:02 #2
<!--#include file="../conn.asp"-->
Avatar billede Slettet bruger
13. august 2005 - 15:02 #3
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=d:\web\localuser\pivskid.dk\database\pivskid.mdb"
Conn.Open DSN
%>
Avatar billede busschou Praktikant
13. august 2005 - 15:02 #4
det er den ene ting, den anden ting er at du må ikke benytte request.form !
Du skal benytte mySmartUpload.Form i stedet
Avatar billede busschou Praktikant
13. august 2005 - 15:02 #5
nå ja klart :o)
Avatar billede busschou Praktikant
13. august 2005 - 15:03 #6
der er en del fejl
file.FileToField oRs.Fields("billede")
hvor kommer "oRs" ind i billedet når det resten af stederne hedder RS
Avatar billede Slettet bruger
13. august 2005 - 15:04 #7
<!--#include file="../conn.asp"-->
<%

  Dim mySmartUpload
  Dim file
  Dim Conn
  Dim strSQL
  Dim Rs
  Dim intCount
  intCount=0
       

  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")


  mySmartUpload.Upload


  strSQL = "SELECT FILENAME,FILE FROM nyheder"

  Set Rs = Server.CreateObject("ADODB.recordset")
  Set Rs.ActiveConnection = Conn
  Rs.Source = strSQL
  Rs.LockType = 3
  Rs.Open


  For each file In mySmartUpload.Files

      If not file.IsMissing Then


        Rs.AddNew
        file.FileToField Rs.Fields("billede")
        Rs("FILENAME") = file.FileName
        Rs("skrevet_af") = mySmartUpload.form("skrevet_af")
        Rs("nyhed") = mySmartUpload.form("nyhed")
        Rs("rang") = mySmartUpload.form("rang")
        Rs("kategori") = mySmartUpload.form("kategori")
        Rs("dato") = FormatDateTime(Now, vbShortDate)
        Rs.Update
        intCount = intCount + 1
      End If
  Next


  Response.Write(intCount & " file(s) uploaded.<BR>")
  Response.Write("<font face='Verdana' size='1'>Nyheden er oprettet !</font>")


  Rs.Close
  Conn.Close
  Set Rs = Nothing
  Set Conn = Nothing
%>
Avatar billede Slettet bruger
13. august 2005 - 15:05 #8
Jeg har lavet den om fra oRs til Rs og vist lige glemt den ene, men har rettet den
Avatar billede busschou Praktikant
13. august 2005 - 15:05 #9
har du set eksemplerne på aspsmartuploads hjemmeside?
http://www.aspsmart.com/aspSmartUpload/
ellers vil jeg anbefale dig at lure dem, da de går godt i dybden med det :o)

En anden ting er at du vist vil uploade billedet til databasen og ikke serveren
Du skal blot vide at dette vil sløve din database
Det er normalt mere anbefalelsesværdig at gemme billedet på serveren og så blot gemme stien til billedet i databasen :o)
Avatar billede Slettet bruger
13. august 2005 - 15:06 #10
Har kigget på den side, men har ikke fået det til alligevel
Avatar billede busschou Praktikant
13. august 2005 - 15:07 #11
jeg forstår ikke den måde at gøre det på, at åbne et recordset med to kolonner for at indsætte en ny række med 7 kolonner
--
strSQL = "SELECT FILENAME,FILE FROM nyheder"
--
Der er jo kun to
Er du sikker på du har et felt i databasen kaldet "FILENAME" og et kaldet "FILE"
Avatar billede busschou Praktikant
13. august 2005 - 15:07 #12
jeg mener du gemmer jo billedet i "billede" så hvad er "FILE"
Avatar billede busschou Praktikant
13. august 2005 - 15:08 #13
jeg ville tro du skulle lave
strSQL = "SELECT * FROM nyheder"
Men jeg er så heller ikke så stærkt inde i den måde at gøre det på
Avatar billede Slettet bruger
13. august 2005 - 15:09 #14
kan sgu ikke hitte ud af det
Avatar billede busschou Praktikant
13. august 2005 - 15:10 #15
to min
Avatar billede Slettet bruger
13. august 2005 - 15:12 #16
det den skal er gemme billedet i en mappe....
skrive dens navn ind i databasen og de oplysninger...
Avatar billede busschou Praktikant
13. august 2005 - 15:13 #17
nårh skrive dens navn i databasen, den skal altså ikke gemme selve billedet i databasen?
For det er der jo stor forskel på ;o)
Avatar billede Slettet bruger
13. august 2005 - 15:14 #18
netop, men kan ikke ret godt finde ud af det skidt med ASPSmartUpload
Avatar billede Slettet bruger
13. august 2005 - 15:16 #19
Er godt klar over at det ikke er smart at gemme filen i dben
Avatar billede busschou Praktikant
13. august 2005 - 15:17 #20
hehe ok
Så ville jeg droppe alle de linjer med RS og istedet lave
--
sql = "insert into nyheder (billede, navn, ...osv) Values ("&file.filename&","&mysmartupload.form("navn") ....osv))
conn.execute(sql)
--
og derudover skal du så have en
--
file.SaveAs("c:\temp\" & file.FileName)
altså stien på serveren hvor billedet skal gemmes
Avatar billede busschou Praktikant
13. august 2005 - 15:19 #21
prøv se deres eksempel nummer 2, der er en masse overflødige udskrifter du kan slette
Men det er et eksempel som løber alle billederne igennem og gemmer dem på serveren
I løkken laver du så en conn.execute("update blabla") med navn, nyhed, osv osv til databasen

Altså der er jo to ting
1) upload til server
2) gemme diverse oplysninger i db
Avatar billede Slettet bruger
13. august 2005 - 15:20 #22
<%
'  Variables
'  *********
  Dim mySmartUpload
  Dim file
  Dim intCount
  intCount=0
       
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Upload
'  ******
  mySmartUpload.Upload

'  Select each file
'  ****************
  For each file In mySmartUpload.Files
  '  Only if the file exist
  '  **********************
      If not file.IsMissing Then
      '  Save the files with his original names in a virtual path of the web server
      '  **************************************************************************
        file.SaveAs("/aspSmartUpload/Upload/" & file.FileName)
        ' sample with a physical path
        ' file.SaveAs("c:\temp\" & file.FileName)

      '  Display the properties of the current file
      '  ******************************************
        Response.Write("Name = " & file.Name & "<BR>")
        Response.Write("Size = " & file.Size & "<BR>")
        Response.Write("FileName = " & file.FileName & "<BR>")
        Response.Write("FileExt = " & file.FileExt & "<BR>")
        Response.Write("FilePathName = " & file.FilePathName & "<BR>")
        Response.Write("ContentType = " & file.ContentType & "<BR>")
        Response.Write("ContentDisp = " & file.ContentDisp & "<BR>")
        Response.Write("TypeMIME = " & file.TypeMIME & "<BR>")
        Response.Write("SubTypeMIME = " & file.SubTypeMIME & "<BR>")
        intCount = intCount + 1
      End If
  Next

'  Display the number of files which could be uploaded
'  ***************************************************
  Response.Write("<BR>" & mySmartUpload.Files.Count & " files could be uploaded.<BR>")

'  Display the number of files uploaded
'  ************************************
  Response.Write(intCount & " file(s) uploaded.<BR>")
%>
Avatar billede Slettet bruger
13. august 2005 - 15:21 #23
Det skulle så være den ?
Avatar billede Slettet bruger
13. august 2005 - 15:25 #24
<%
'  Variables
'  *********
  Dim mySmartUpload
  Dim item
  Dim value
  Dim file
       
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Upload
'  ******
  mySmartUpload.Upload

'  FILES Collection
'  ****************
  Response.Write("<BR><STRONG>Files Collection</STRONG><BR>")

'  Informations about files
'  ************************
  Response.Write("Number of files =" & mySmartUpload.Files.count &"<BR>")
  Response.Write("Total bytes of files =" & mySmartUpload.Files.TotalBytes &"<BR>")

'  Select each file
'  ****************
  For each file In mySmartUpload.Files
      Response.Write(file.FileName & " (" & file.Size & "bytes)<BR>")
  Next

'  FORM Collection
'  ***************
  Response.Write("<BR><STRONG>Form Collection</STRONG><BR>")

'  Select each item
'  ****************
  For each item In mySmartUpload.Form
  '  Select each value of the current item
  '  *************************************
      For each value In mySmartUpload.Form(item)
        Response.Write(item & " = " & value & "<BR>")
      Next
  Next
%>
Avatar billede busschou Praktikant
13. august 2005 - 15:38 #25
du må lige se om navnene i din tabel er korrekte,
Men sådan her vil jeg mene
----
<!--#include file="../conn.asp"-->
<%
  Dim mySmartUpload, file, Conn, strSQL     

  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
  mySmartUpload.Upload

  For each file In mySmartUpload.Files
      If not file.IsMissing Then
        file.SaveAs("DIN_STI" & file.FileName)
        strSQL = "Insert Into nyheder (filename, skrevet_af, nyhed, rang, kategori, dato) values ("&_
                " '"&file.FileName&"'"&_
                ",'"&mySmartUpload.form("skrevet_af")&"'&"_
                ",'"&mySmartUpload.form("nyhed")&"'"&_
                ",'"&mySmartUpload.form("rang")&"'"&_
                ",'"&mySmartUpload.form("kategori")&"'"&_
                ",#"&FormatDateTime(Now, vbShortDate)&"#)"
        conn.execute(strSQL)
      End If
  Next

  Conn.Close
  Set Conn = Nothing
%>
Avatar billede Slettet bruger
13. august 2005 - 15:42 #26
Det eneste der umiddelbart mangler i den er en sti til mappen på hotellet
Avatar billede busschou Praktikant
13. august 2005 - 15:47 #27
nå ja men den putter du bare ind selvfølgelig, evt istedet for filnavnet som vel er overflødigt?
--
<!--#include file="../conn.asp"-->
<%
  Dim mySmartUpload, file, Conn, strSQL   

  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
  mySmartUpload.Upload

  For each file In mySmartUpload.Files
      If not file.IsMissing Then
        file.SaveAs("DIN_STI" & file.FileName)
        strSQL = "Insert Into nyheder (sti, skrevet_af, nyhed, rang, kategori, dato) values ("&_
                " '"&"DIN_STI"&file.FileName&"'"&_
                ",'"&mySmartUpload.form("skrevet_af")&"'&"_
                ",'"&mySmartUpload.form("nyhed")&"'"&_
                ",'"&mySmartUpload.form("rang")&"'"&_
                ",'"&mySmartUpload.form("kategori")&"'"&_
                ",#"&FormatDateTime(Now, vbShortDate)&"#)"
        conn.execute(strSQL)
      End If
  Next

  Conn.Close
  Set Conn = Nothing
%>
Avatar billede Slettet bruger
13. august 2005 - 16:42 #28
Microsoft VBScript compilation error '800a0401'

Expected end of statement

/admin/nyhed_opret_handler.asp, line 14

",'"&mySmartUpload.form("nyhed")&"'"&_
^
Avatar billede busschou Praktikant
13. august 2005 - 16:44 #29
ups, ret denne her
",'"&mySmartUpload.form("skrevet_af")&"'&"_
til
",'"&mySmartUpload.form("skrevet_af")&"'"&_
Avatar billede Slettet bruger
13. august 2005 - 16:45 #30
aspSmartUpload.File error '80040460'

Unable to save file (Error 1120)

/admin/nyhed_opret_handler.asp, line 10
Avatar billede Slettet bruger
13. august 2005 - 16:46 #31
file.SaveAs("d:\web\localuser\domain.dk\public_html\grafik\" & file.FileName)
Line 10
Avatar billede busschou Praktikant
13. august 2005 - 16:47 #32
det kan tyde på to ting
Enten har du skrevet stien forkert så den ikke eksisterer
Eller også har du ikke skrive adgang til den angivne mappe
Avatar billede Slettet bruger
13. august 2005 - 16:50 #33
dohhh
        file.SaveAs("d:\web\localuser\domain.dk\public_html\grafik\" & file.FileName)
-----------------------------------------|
        file.SaveAs("d:\web\localuser\pivskid.dk\public_html\grafik\" & file.FileName)

smart
Avatar billede busschou Praktikant
13. august 2005 - 16:52 #34
hæhæ jaaa det var jo nok et start ;o)
virker det så ?
Avatar billede Slettet bruger
13. august 2005 - 16:53 #35
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] The INSERT INTO statement contains the following unknown field name: 'billede'. Make sure you have typed the name correctly, and try the operation again.

/admin/nyhed_opret_handler.asp, line 18
Avatar billede Slettet bruger
13. august 2005 - 16:56 #36
line 18 :

        conn.execute(strSQL)
Avatar billede busschou Praktikant
13. august 2005 - 16:56 #37
ok den siger jo simpelt nok at den ikke har et felt i tabellen som hedder "billede"
Så du må lige tjekke op med navnene i tabellen :o)
Avatar billede Slettet bruger
13. august 2005 - 16:58 #38
okai det ser ud til at virke nu, det eneste er vel at vist jeg vil udskrive billedet på en anden side, så kommer vel hele stien med eller ?
Avatar billede busschou Praktikant
13. august 2005 - 17:01 #39
ja det er stien som står i databasen, så hvis du laver
<img src="<%=rs("billede")%>">
Så vil du få hele stien ja
Hvis du nu ved hvor du gemmer billederne, fx hvis de alle gemmes i samme mappe
Så kan du jo nøjes med at gemme filnavnet i stedet
Så slipper du for at man kan se den fulde sti
Avatar billede Slettet bruger
13. august 2005 - 17:03 #40
ja det ville jo straks være bedre
Avatar billede Slettet bruger
13. august 2005 - 17:04 #41
strSQL = "Insert Into nyheder (sti, skrevet_af, nyhed, rang, kategori, dato) values ("&_
                " '"&file.FileName&"'"&_
Avatar billede busschou Praktikant
13. august 2005 - 17:05 #42
jup
Avatar billede Slettet bruger
13. august 2005 - 17:06 #43
hva med den sti ?
Avatar billede Slettet bruger
13. august 2005 - 17:07 #44
strSQL = "Insert Into nyheder (sti, skrevet_af, nyhed, rang, kategori, dato) values
-------------------------------| DEN STI
Avatar billede Slettet bruger
13. august 2005 - 17:09 #45
skal den laves om til billede ?
Avatar billede busschou Praktikant
13. august 2005 - 17:09 #46
der sætter du file.FileName?
Ellers giv mig det du har hvis det er
Avatar billede busschou Praktikant
13. august 2005 - 17:09 #47
Det bestemmer du selv, du bestemmer selv navnene, de skal bare stemme overens med navnene i din tabel i databasen jo
Avatar billede Slettet bruger
13. august 2005 - 17:09 #48
og det skulle den vist hehe
Avatar billede Slettet bruger
13. august 2005 - 17:12 #49
Så har jeg så den set kun et spørgsmål mere, vist du gider at hjælpe da ? Ellers er point ihvertfald dine
Avatar billede busschou Praktikant
13. august 2005 - 17:14 #50
jeman så lægger jeg et svar :o)
bare spørg løs
Avatar billede Slettet bruger
13. august 2005 - 17:14 #51
når jeg udskriver mit billede på siden
<img src="grafik/<%  Response.Write "" & rs("billede") & "" %>">

Så er det jo ikke altid at der er et billede hvordan får jeg den til at tjekke om der er et billede og vist der er smider dette op på siden...?
Avatar billede busschou Praktikant
13. august 2005 - 17:16 #52
så må du lave en if sætning
---
if rs("billede") <> "" then
  response.write "<img src=""grafik/"&rs("billede")&""">"
end if
Avatar billede Slettet bruger
13. august 2005 - 17:52 #53
okai :) Damn nu skal jeg upload et billede med ellers smider den ikke oplysningerne ind i dben
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