Avatar billede mvk Nybegynder
11. marts 2004 - 10:24 Der er 19 kommentarer og
1 løsning

Persist ASP Upload virker ikke

jeg har prøvet at ændre felterne i standard scriptet for det der uploades så jeg får flere informationer med, men jeg får fejl. Koden:

SQL = "INSERT INTO myimages(ImageBlob, Filename, Filesize, userID, UploadDate, UploadTime, Category, Title, Description) VALUES(?, '"
        SQL = SQL & File.Filename & "', '"
        SQL = SQL & File.Size & "', '"
        SQL = SQL & Replace(Upload.Form("IDuser"), "'", "''") & "', "
        SQL = SQL & Replace(Upload.Form("Date"), "'", "''") & "', "
        SQL = SQL & Replace(Upload.Form("Time"), "'", "''") & "', "
        SQL = SQL & Replace(Upload.Form("Category"), "'", "''") & "', "
        SQL = SQL & Replace(Upload.Form("Title"), "'", "''") & "', "
        SQL = SQL & Replace(Upload.Form("Description"), "'", "''") & ")"

deres oprindelige kode så sådan ud:
SQL = "INSERT INTO MYIMAGES(image_blob, filename, description, filesize) VALUES(?, '"
        SQL = SQL & File.Filename & "', '"
        SQL = SQL & Replace(Upload.Form("DESCR"), "'", "''") & "', "
        SQL = SQL & File.Size & ")"


min tabel "myimages" ser sådan ud:
IDimage
Filename
Filesize
ImageBlob
Hash
userID
UploadDate
UploadTime
Category
Title
Description


jeg får denne fejl:
Persits.Upload.1 error '800a001c'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '10-3-2004', 4:36:''.
/odbc_upload.asp, line 37
Avatar billede fennec Nybegynder
11. marts 2004 - 10:26 #1
det er sikkert forkert dato format...
Avatar billede mortency Nybegynder
11. marts 2004 - 10:29 #2
Prøv med følgende i toppen:
<%
session.LCID = 1033
%>
Avatar billede fennec Nybegynder
11. marts 2004 - 10:34 #3
det er nok nærmere session.LCID = 1030 for at få det danske format....
Avatar billede mortency Nybegynder
11. marts 2004 - 10:35 #4
I access skal dato ha et # foran og et # etter datoen.
Avatar billede mortency Nybegynder
11. marts 2004 - 10:35 #5
Sorry!
Avatar billede mvk Nybegynder
11. marts 2004 - 10:38 #6
Persits.Upload.1 error '800a001c'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '11-3-2004', 10:43''.
/odbc_upload.asp, line 38

så får den ændret tiden, men fejlen er den samme
Avatar billede fennec Nybegynder
11. marts 2004 - 10:46 #7
bruger du 1030?? for datoen ser stadig ud til at være forkert....
'11-3-2004' skulle gerne være '11-03-2004' og hus at bruge # istadet for ' som mortency sagde.
Avatar billede mvk Nybegynder
11. marts 2004 - 10:48 #8
datoen formatterer jeg sådan:

<%
function dkDato(datoStr)
  dkDato = Day(datoStr) & "-" & Month(datoStr) & "-" & Year(datoStr)
end function
%>
<input name="Date" type="hidden" id="Date" value="<%=dkDato(date)%>">
Avatar billede fennec Nybegynder
11. marts 2004 - 10:52 #9
hvad bliver datoStr sat = med
Avatar billede mvk Nybegynder
11. marts 2004 - 10:54 #10
ikke noget - det er al den kode der er på dato
Avatar billede mvk Nybegynder
11. marts 2004 - 10:54 #11
"<%=dkDato(date)%>" - bliver den vel sat til
Avatar billede fennec Nybegynder
11. marts 2004 - 10:56 #12
jeg er dum!!! :o)

prøv dette....
<input name="Date" type="hidden" id="Date" value="<%=date()%>">
Avatar billede mvk Nybegynder
11. marts 2004 - 10:59 #13
stadig samme fejl...
paster lige koderne

dette er siden med formularen:
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/gutternes.asp" -->
<%Session.lcid = 1030%>
<%
Dim rsLoggedUser__MMColParam
rsLoggedUser__MMColParam = "1"
If (Session("MM_Username") <> "") Then
  rsLoggedUser__MMColParam = Session("MM_Username")
End If
%>
<%
Dim rsLoggedUser
Dim rsLoggedUser_numRows

Set rsLoggedUser = Server.CreateObject("ADODB.Recordset")
rsLoggedUser.ActiveConnection = MM_gutternes_STRING
rsLoggedUser.Source = "SELECT * FROM users WHERE Username = '" + Replace(rsLoggedUser__MMColParam, "'", "''") + "'"
rsLoggedUser.CursorType = 0
rsLoggedUser.CursorLocation = 2
rsLoggedUser.LockType = 1
rsLoggedUser.Open()

rsLoggedUser_numRows = 0
%>
<!-- AspUpload Code samples: odbc.asp -->
<!-- Saving files in the database via ODBC  -->
<!-- Copyright (c) 2001 Persits Software, Inc. -->
<!-- http://www.persits.com -->

<HTML>
<BODY BGCOLOR="#FFFFFF">
<%
function dkDato(datoStr)
  dkDato = Day(datoStr) & "-" & Month(datoStr) & "-" & Year(datoStr)
end function
%>
<h3>Saving Files in the Database via ODBC</h3>

    <FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="odbc_upload.asp">
        <table width="100%"  border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td>File:<BR>              </td>
            <td><INPUT TYPE=FILE NAME="THEFILE"></td>
          </tr>
          <tr>
            <td>Kategori:</td>
            <td><select name="Category" id="Category">
              <option value="Sommer">Sommer</option>
              <option value="Vinter">Vinter</option>
            </select></td>
          </tr>
          <tr>
            <td>Titel</td>
            <td><input name="Title" type="text" id="Title"></td>
          </tr>
          <tr>
            <td>Description:</td>
            <td><textarea name="Description" id="Description"></textarea></td>
          </tr>
          <tr>
            <td><BR>            </td>
            <td><input name="IDuser" type="hidden" id="IDuser" value="<%=(rsLoggedUser.Fields.Item("IDuser").Value)%>">
            <input name="Date" type="hidden" id="Date" value="<%=date()%>">
            <input name="Time" type="hidden" id="Time" value="<%= left(Time(),5) %>"></td>
          </tr>
          <tr>
            <td><input name="SUBMIT" type=SUBMIT value="Upload!"></td>
            <td>&nbsp;</td>
          </tr>
        </table>
        <P>
          <BR>
    </FORM>
</BODY>
</HTML>
<%
rsLoggedUser.Close()
Set rsLoggedUser = Nothing
%>


dette er siden med scriptet:
<%Session.lcid = 1030%>
<!-- AspUpload Code samples: odbc_upload.asp -->
<!-- Invoked by odbc.asp -->
<!-- Copyright (c) 2001 Persits Software, Inc. -->
<!-- http://www.persits.com -->

<HTML>
<BODY>

<%
    Set Upload = Server.CreateObject("Persits.Upload")

    ' Capture files
    Upload.SaveVirtual "/images/upload"

    ' Obtain file object
    Set File = Upload.Files("THEFILE")

    If Not File Is Nothing Then
        ' Build ODBC connection string
        Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/db/gutterne.mdb")

        ' If you use SQL Server, the connecton string must look something like this:
        ' Connect = "Driver=SQL Server;Server=MYSRV;Database=master;UID=sa;PWD=xxx"

        ' Build SQL INSERT statement
        SQL = "INSERT INTO myimages(ImageBlob, Filename, Filesize, userID, UploadDate, UploadTime, Category, Title, Description) VALUES(?, '"
        SQL = SQL & File.Filename & "', '"
        SQL = SQL & File.Size & "', '"
        SQL = SQL & Replace(Upload.Form("IDuser"), "'", "''") & "', "
        SQL = SQL & Replace(Upload.Form("Date"), "'", "''") & "', "
        SQL = SQL & Replace(Upload.Form("Time"), "'", "''") & "', "
        SQL = SQL & Replace(Upload.Form("Category"), "'", "''") & "', "
        SQL = SQL & Replace(Upload.Form("Title"), "'", "''") & "', "
        SQL = SQL & Replace(Upload.Form("Description"), "'", "''") & ")"

        ' Save to database
        File.ToDatabase Connect, SQL
        Response.Write "File saved."
    Else
        Response.Write "File not selected."
    End If
%>

</BODY>
</HTML>
Avatar billede fennec Nybegynder
11. marts 2004 - 11:11 #14
du har stadig ikke # omkring din dato, hvis UploadDate da ellers er en dato type. Der manglede desuden flere '.

SQL = SQL & File.Filename & "', '"
SQL = SQL & File.Size & "', '"
SQL = SQL & Replace(Upload.Form("IDuser"), "'", "''") & "', "
SQL = SQL & "#"& Replace(Upload.Form("Date"), "'", "''") & "#, "
SQL = SQL & "'"& Replace(Upload.Form("Time"), "'", "''") & "', "
SQL = SQL & "'"& Replace(Upload.Form("Category"), "'", "''") & "', "
SQL = SQL & "'"& Replace(Upload.Form("Title"), "'", "''") & "', "
SQL = SQL & "'"& Replace(Upload.Form("Description"), "'", "''") & ")"
Avatar billede mvk Nybegynder
11. marts 2004 - 11:22 #15
:) så blev den rettet, men der kom en nu fejl:
Persits.Upload.1 error '800a001c'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression ''her står description)'.

/odbc_upload.asp, line 38
Avatar billede fennec Nybegynder
11. marts 2004 - 11:24 #16
der mangler lige en ' til ved Description

SQL = SQL & "'"& Replace(Upload.Form("Description"), "'", "''") & "')"
Avatar billede mvk Nybegynder
11. marts 2004 - 11:29 #17
fennec - du er fanme for sej .-tak for al din hjælp
du har vist rettet mig nogle gange :)
.
hvor er det blæret nu har jeg en upload funktion der kan uploade + ligge informationer i databasen - :D
Avatar billede mvk Nybegynder
11. marts 2004 - 11:41 #18
skylder dig point
Avatar billede fennec Nybegynder
11. marts 2004 - 11:49 #19
Jeg giver bare tilbage for den hjælp, jeg har fået her på E :o)
Avatar billede mvk Nybegynder
11. marts 2004 - 11:59 #20
sounds good
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