webForumDet fria alternativet

lägg till i databasen

ASP

23 svar · 722 visningar · startad av Jeppeweb

Medlem sedan sep. 2006462 inlägg
Frågan#1

Laddar upp bilder till fotoalbumet, det fungerar, bilderna kommer upp på servern.. men för att kunna visa bilderna sen måste ju vissa kolumner fyllas i, vilket dom inte gör.. Inget händer i databasen!

<%
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
'Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes))
byteCount = Request.TotalBytes
'Response.BinaryWrite(Request.BinaryRead(varByteCount))

RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")

BuildUploadRequest RequestBin

'Exempel på hur man kan 'plocka ner' andra forumlärelement
'email = UploadRequest.Item("email").Item("Value")

contentType = UploadRequest.Item("blob").Item("ContentType")
filepathname = UploadRequest.Item("blob").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("blob").Item("Value")

'Create FileSytemObject Component
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Create and Write to a File
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
' Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.Serv  erVariables("PATH_INFO")),pathEnd)&filename)
filename = session("cmalias") & "_" & filename
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/bilder/fotoalbum" & "\" & filename))

For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next

MyFile.Close

	SQL = "SELECT bild FROM fotoalbum WHERE id = "&Session("cmid")
	Set RecSet = Connect.execute(SQL)

	bild = filename

	Connect.Execute("UPDATE fotoalbum set bild = '"& bild &"' WHERE id = "&Session("cmid")&"")

Response.Redirect "main.asp?page=62"
response.write "<b>Filen är nu uppladdad, vänta på att den ska bli accepterad</b>"
Connect.Execute("UPDATE fotoalbum set bild = 'ingen' WHERE ID="&Session("cmID")&" ")

Response.Redirect "main.asp?page=62"
Connect.Execute("UPDATE fotoalbum set bild = 'filename' WHERE id="&Session("vems")&" ")

%>

tacksam för hjälp

Medlem sedan feb. 20011 198 inlägg
#2

Du måste göra INSERT.

Medlem sedan juni 20003 076 inlägg
#3

Du kan heller inte göra så här (eller kan kan du väl men det är inte rätt!):

Response.Redirect "main.asp?page=62"
Connect.Execute("UPDATE fotoalbum set bild = 'filename' WHERE id="&Session("vems")&" ")

Update-satsen körs aldrig då du har en redirect ovanför! :)

Medlem sedan sep. 2006462 inlägg
#4

Så hur skall det se ut annars då?

Medlem sedan sep. 2006462 inlägg
#5

Jag gjorde ett tappert försök o gissade mig lite fram, såklart fel då.. men;


MyFile.Close

	SQL = "SELECT bild FROM fotoalbum WHERE id = "&Session("cmid")
	Set RecSet = Connect.execute(SQL)

	bild = filename
	vems = userid

	Connect.Execute("UPDATE fotoalbum set bild = '"& bild &"' WHERE id = "&Session("cmid")&"")

Datum = Now
SQL = "INSERT INTO fotoalbum ([vems], [datum], [filnamn]) VALUES('" & vems & "',#"& Datum &"#,'" & filename & "')"
Databas.Execute(SQL)

%>

Error Type:
Sun ONE ASP VBScript runtime (0x800A01A8)
Object required: 'Databas'
/outputfile2.asp, line 63

Medlem sedan dec. 1999653 inlägg
#6

En redirect skickar besökaren vidare till en annan sida.

Skickar du vidare besökaren innan du kört din UPDATE kommer naturligtvis inget att uppdateras. Därför bör en redirect stå efter din UPDATE.

Medlem sedan sep. 2006462 inlägg
#7

Som du ser ovan har jag ingen redirect.

Medlem sedan jan. 20011 154 inlägg
#8

Just felet ovan kommer från att du har Databas.Execute(SQL) istället för Connect.Execute(SQL).
Sen vad det egentligen är du vill göra är ju en annan sak :)

Medlem sedan sep. 2006462 inlägg
#9

Jag vill så att filename sätts in i "bild" kolumnen och att "vems" fylls i med userid! :)

Medlem sedan dec. 1999653 inlägg
#10
bild = cStr(RecSet("filename"))
vems = cLng(RecSet("userid"))
SQL = "INSERT INTO fotoalbum ([vems], [datum], [filnamn]) VALUES(" & vems & ",#"& Datum &"#,'" & filename & "')"

vems är fortfarande ett tal å ska således inte ha några 'fnuttar' runt sig när du matar in det..

Medlem sedan sep. 2006462 inlägg
#11
MyFile.Close

	SQL = "SELECT bild FROM fotoalbum WHERE id = "&Session("cmid")
	Set RecSet = Connect.execute(SQL)

bild = cStr(RecSet("filename"))
vems = cLng(RecSet("userid"))

	Connect.Execute("UPDATE fotoalbum set bild = '"& bild &"' WHERE id = "&Session("cmid")&"")

Datum = Now
SQL = "INSERT INTO fotoalbum ([vems], [datum], [filnamn]) VALUES(" & vems & ",#"& Datum &"#,'" & filename & "')"Connect.Execute(SQL)

%>

Error Type:
Sun ONE ASP VBScript compilation (0x800A0401)
Syntax error, unexpected "identifier", expecting end of statement
/outputfile2.asp, line 63, column 113

Medlem sedan jan. 20011 154 inlägg
#12

Connect.Execute(SQL) på egen rad.
Ett litet tips: Kolla igenom koden ett par gånger själv först innan du postar att det är fel

Medlem sedan sep. 2006462 inlägg
#13

Connect.Execute(SQL) på egen rad.

Vad menar du? :$

Medlem sedan jan. 20011 154 inlägg
#14
SQL = "INSERT INTO fotoalbum ([vems], [datum], [filnamn]) VALUES(" & vems & ",#"& Datum &"#,'" & filename & "')"Connect.Execute(SQL)

till

SQL = "INSERT INTO fotoalbum ([vems], [datum], [filnamn]) VALUES(" & vems & ",#"& Datum &"#,'" & filename & "')"
Connect.Execute(SQL)
Medlem sedan sep. 2006462 inlägg
#15

Hmm...

Error Type:
Sun ONE ASP VBScript runtime (0x800A0CC1)
ADO Could not find the object in the collection corresponding to the name or ordinal reference requested by the collection.
/outputfile2.asp, line 54

Medlem sedan jan. 20011 154 inlägg
#16

Det där är ett så enkelt fel så det löser du själv genom att antingen använda sökfunktionen här på forumet eller via t.ex. denna länk på google

Medlem sedan sep. 2006462 inlägg
#17

Okej sökt lite, och läst runt, men fortfarande inte fattat vad som e fel, alla kolumner finns ju i db etc...

så kan du vara en ängel och förklara :)

Medlem sedan jan. 20011 154 inlägg
#18

Nej nu får du lösa detta själv :) Ett tips är att ursprunget till felet ligger här

SQL = "SELECT bild FROM fotoalbum WHERE id = "&Session("cmid")

Ps.
Se mitt svar i "din" andra tråd om felmeddelanden :)

Medlem sedan sep. 2006462 inlägg
#19

Gahh, har ju försökt..

MyFile.Close

SQL = "SELECT bild,vems FROM fotoalbum WHERE id = "&Session("id")
Set RecSet = Connect.execute(SQL)

bild = cStr(RecSet("filename"))
vems = cLng(RecSet("userid"))

Connect.Execute("UPDATE fotoalbum set bild = '"& bild &"', vems = '"& vems &"' WHERE id = "&Session("cmid")&"")

Datum = Now
SQL = "INSERT INTO fotoalbum ([vems], [datum], [filnamn]) VALUES(" & vems & ",#"& Datum &"#,'" & filename & "')"
Connect.Execute(SQL)
%>

får fortfarande felmeddelande.. är det så lätt? jag anser då de inte vara lätt :)

Medlem sedan jan. 20011 154 inlägg
#20

Du försöker ju leta efter Recset("filename") och det är där du får fel (antar jag eftersom du inte markerade vilken rad det var). Börja där och gå baklänges. RecSet objektet exekverar sql-satsen. Sql satsen innehåller vilka fält?

268 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)