coronaMedlem sedan feb. 200470 inlägg Jag håller på med en liten databas som ska innehålla en bildbank där man ska kunna ladda upp två bilder med hjälp av AspUpload.
Nu undrar jag hur jag ska få det specifika IDet när jag matar in informationen om bilderna innan jag laddar upp bilderna. Frågan är om det går eftersom jag vill kunna relatera bilderna till den inmatade informationen.
Min kod:
<%
Dim RecSet, Addera, Omrade, Serie, Rubrik, Keywords
Omrade = Request("omrade")
Serie = Request("serie")
Rubrik = Request("rubrik")
Keywords = Request("keywords")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM BildVisa"
RecSet.Open Addera, DB, adOpenStatic, adLockOptimistic
RecSet.AddNew
RecSet("Omrade") = Omrade
RecSet("Serie") = Serie
RecSet("Rubrik") = Rubrik
RecSet("KeyWords") = Keywords
RecSet.Update
' DETTA VISA EJ TYVÄRR
'Dim IDvisa
'IDvisa = RecSet("ID")
'Response.Write IDvisa
RecSet.Close
Set RecSet = nothing
%>
Informationen om bilderna ligger i en separat tabell och det uppladdade hamnar i två andra tabeller i databasen.
Blir jätteglad om någon kan tipsa mig hur jag ska göra.
/Annette
OveRRidEMedlem sedan feb. 200112 078 inlägg Du får göra en JOIN mellan tabellerna i SQL. Vad heter tabellen som innehåller informationen om bilderna, samt på vilken kolumn relaterar de till varandra?
En sak till bara: använd gärna [kod]-taggen. :)
Som OveRRidE skrev får du visa vilka kolumner som relaterar till varandra i dina databastabeller. :D
coronaMedlem sedan feb. 200470 inlägg Hej igen!
Det var snabba svar.
Min informationstabell heter BildVisa där jag vill koppla IDet till tabellerna BildHigh (kolumn IDnr) och BildLow (Kolumn IDnr)
Nu är jag lite novis här, men var är kodtaggen eller hur gör jag när jag ska visa min kod här???
/Annette
PalleMedlem sedan apr. 20003 174 inlägg Om jag fattat det rätt borde la detta fungera bra..
[red]<%
Dim Omrade, Serie, Rubrik, Keywords, RecSet, IDvisa
Omrade = Request("omrade")
Serie = Request("serie")
Rubrik = Request("rubrik")
Keywords = Request("keywords")
DB.Execute("INSERT INTO BildVisa(omrade, serie, rubrik, keywords) VALUES('"& Omrade &"','"& Serie &"','"& Rubrik &"','"& Keywords &"')"),,128
Set RecSet = DB.Execute("SELECT @@IDENTITY")
IDvisa = RecSet(0)
RecSet.Close
Set RecSet = Nothing
Response.Write "Informationens unika ID: "& IDvisa
'// Spara dina bilder här med informationens unik ID som referens..
%>[/red]
coronaMedlem sedan feb. 200470 inlägg Tack, nu fungerar det, men nu är jag väl inte en riktig hejare på ASP, men försöker att hela tiden lära mig.
Så jag undrar bara om det går bara att få en förklaring vad ("SELECT @@IDENTITY") står för och varför RecSet (0) har en nolla inför parantesen?
/Annette
RecSet(0) kan du använda för att plocka ut ett fälts värde i databasen. Exempelvis så här:
Set Rs = Cn.Execute("SELECT Count(falt) FROM tabell")
...
Response.Write(Rs(0))
Nollan talar om att det är det lägsta "indexet" man hämtar från den aktuella databastabellen. Skulle du ha fler fält så kan du även komma åt dem med Rs(1), Rs(2) m.m., men det är lättare att skriva Rs("Fältnamn") i stället. :)
@@IDENTITY har jag för mig man använder när man vill skriva ut värdet i ett fält man precis satt in/redigerat/raderat i en databastabell. Exempelvis så här tror jag:
INSERT INTO tbl (falt) VALUES ('Värde')
SELECT @@IDENTITY
Rätta mig om jag har fel. ;)
coronaMedlem sedan feb. 200470 inlägg Tack för ditt svar. Då förstår jag lite bättre vad dert innebär med SELECT @@IDENTITY och RecSet(0)
/Annette
@ndersMedlem sedan juni 200032 969 inlägg
@@IDENTITY har jag för mig man använder när man vill skriva ut värdet i ett fält man precis satt in/redigerat/raderat i en databastabell
Nästan. @@IDENTITY får ett värde vid insert endast.
mvh