webForumDet fria alternativet

ASPUpload till databas

ASP

7 svar · 260 visningar · startad av Eclipse

Medlem sedan juli 20003 825 inlägg
Frågan#1

http://www.aspupload.com/manual_db.html

Citat:
The database contains a single table, MYIMAGES, with the following columns:

id
image_blob OLE Object - Stores file BLOB
...

/Citat

Hur gör jag för att få datatypen OLE Object? Är det samma som PM?

Medlem sedan apr. 20003 174 inlägg
#2

Vilken typ av databas är det?

Om jag inte är helt fel ute.. :OO

    • MS Access = ActiveX-objekt
    • mySQL = Blob

Medlem sedan juli 20003 825 inlägg
#3

Tack, tack. MS Access är det.

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

' Capture files
'Upload.Save "c:\upload"

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

If Not File Is Nothing Then
	' Build ODBC connection string
	' Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath(".\aspupload.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 = "INSERT INTO [files] (bloImage, strFilename, strDescription, intFilesize) VALUES(?, '"
  SQL = SQL & File.Filename & "', '"
  SQL = SQL & Replace(Upload.Form("DESCR"), "'", "''") & "', "
  SQL = SQL & File.Size & ")"

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

Jag har tagit koden från exemplet och modifierat den en aning.

Måste det inte finnas med någon typ av request("variabel") på sidan?

Medlem sedan juli 20003 825 inlägg
#4
<!-- #INCLUDE VIRTUAL="/admin/open.asp" -->

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

' Capture files
'Upload.Save "c:\upload"

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

response.write File.Filename & "<BR>" <-- line 12
response.write File.Size & "<BR>"

Microsoft VBScript runtime error '800a01a8'

Object required: 'File'

/files/confirm.asp, line 12

Medlem sedan juli 20003 825 inlägg
#5

Vad betyder detta i klartext?

Rollei_prislista.pdf
57683
INSERT INTO [files] (bloImage, strFilename, strDescription, intFilesize) VALUES(?, 'Rollei_prislista.pdf', '', 57683)

Persits.Upload.1 error '800a0018'

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

/files/confirm.asp, line 36

  ' Build SQL INSERT statement
  SQL = "INSERT INTO [files] (bloImage, strFilename, strDescription, intFilesize) VALUES(?, '"
  SQL = SQL & File.Filename & "', '"
  SQL = SQL & Replace(Upload.Form("DESCR"), "'", "''") & "', "
  SQL = SQL & File.Size & ")"

response.write sql
  ' Save to database
[b]File.ToDatabase Conn, SQL[/b] <-- rad 36
Medlem sedan dec. 20002 526 inlägg
#6

att din koppling till databasen inte ar korrekt ;)

Medlem sedan juli 20003 825 inlägg
#7

OK... Jättebra!

***
http://www.aspupload.com/manual_db.html

Det måste fasen vara fel i koden! Kolla det gula fältet en bit ner. Där står:

' Build SQL INSERT statement
SQL = "INSERT INTO MYIMAGES(image_blob, filename, description, filesize) VALUES(?, '"
SQL = SQL & File.Filename & "', '"
SQL = SQL & Replace(Upload.Form("DESCR"), "'", "''") & "', "
SQL = SQL & File.Size & ")"

Det första värdet som läggs in i databasen är ett ? medans man tycker att ett File.Binary skulle vara mer passande.

Men det fungerar inte!

Det är över mitt förstånd...

Medlem sedan mars 20015 287 inlägg
#8

Hur är du säker på att det inte läggs in rätt i db?

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)