webForumDet fria alternativet

ASPupload och databas

7 svar · 347 visningar · startad av yasper

yasperMedlem sedan maj 200471 inlägg
#1

Mycket frågor om ASPupload från min sida nu...

Jag har ett form med möjlighet att skicka upp 10 filer till servern och samtidigt fylla i ett datum och en kategori. Så har jag en MS Access databas med 4 tabeller. ID, Datum, Kategori och filnamn.

Nu undrar jag hur jag ska bära mig åt så att jag får ett filnamn i varje rad i databasen. Om jag skickar upp 10 filer ska det skapas 10 nya rader i databasen. Skickar jag bara upp 5 filer ska det bara skapas 5 rader.

Hoppas nån har en bra lösning på detta...

hmm klockan är sent och jag är trött och har svårt att förklara...men om ni inte fattar så fråga

@ndersMedlem sedan juni 200032 969 inlägg
#2

Ett snabbmodifierat lätthittat exempel från manualen:

For Each File in dittUploadObjekt.Files
     strSQL = "INSERT INTO tabellen (filnamn) VALUES ('" & File.Name & "')"
     ' exekvera sql-frågan
Next

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

MickeA.comMedlem sedan feb. 20034 441 inlägg
#3

@nders skrev:

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

Precis, jag har använt ASP Upload väldigt mycket och är ruskigt nöjd med deras hjälpavsnitt.
Väldigt utförligt, lättförståerligt och bra att ha när man håller på med komponenten.

Eftersom du har 10 filer samtidigt, ta en titt på Progress Bar, kan vara lite strulig att få igång schysst, men det ser lite "proffsigare" ut.

yasperMedlem sedan maj 200471 inlägg
#4

Jag får det inte riktigt att funka. Filerna sparas på servern men inget läggs in i databasen.

Här är min kod:

<!--#include file="adovbs.inc" -->

<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Count = Upload.Save("c:upload")
Upload.OverwriteFiles = False

math = Upload.Form("match")

strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "sökväg till db" 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open strConnString 

For Each File In Upload.Files
SQL = "Insert Into upload(match, fil) Values('" & math & "','" & File.ExtractFileName & "')"
Connect.Execute(SQL)
Next
%>

Jag får inget felmeddelande eller nåt sånt. Den kommer bara till sen HTTP 500-sida.

Nån som vet vad det kan vara?

@ndersMedlem sedan juni 200032 969 inlägg
#5

Om du får Internal Server Error är det första du ska göra att ställa in webbläsaren så du får riktiga felmeddelanden.

Tools -> Internet options -> Advanced -> Use friendly http error messages (bocka av!) (Egna http-felmeddelanden tror jag det heter om du använder en svensk version av IE).

Man kan inte felsöka utan ordentliga felmeddelanden.

mvh

yasperMedlem sedan maj 200471 inlägg
#6

Jag får följande felmeddelande:

Microsoft JET Database Engine fel '80040e14'

Syntaxfel i INSERT INTO-uttryck.

/admin/laddaupp.asp, rad 27

@ndersMedlem sedan juni 200032 969 inlägg
#7

Felet beror antagligen på att match är ett reserverat ord i ODBC. Byt namn på fältet så bör det fungera.

mvh

yasperMedlem sedan maj 200471 inlägg
#8

Tackar funkade fint!

129 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)