|
| Hvilket Id-nummer fik rækken efter insert ~ Fra : Bjarne |
Dato : 02-03-04 17:31 |
|
Hej NG
Jeg bøvler lidt med følgende problem.
Når en bruger på min hjemmeside har afsendt en formular til et lille forum
jeg har lavet, så bliver informationerne gemt i en acces-database.
Når informationerne er gemt ønsker jeg at brugeren skal have mulighed for at
tilføje et billede sin besked med det samme.
Det uploadede billede skal omdøbes til så det referere til det "id-nummer"
som beskeden lige er blevet tildelt f.eks. 47.jpg.
Jeg har uploadfunktion som omdøber det uploadede billede til "idnummer".jgp,
men hvordan får jeg fat i det "id-nummer" ?
Så kort fortalt mangler jeg id-nummer på den nu oprettede række for at kunne
omdøbe den kommende upload til samme nummer.
Således gemmes informationerne i databasen :
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath
("db.mdb")
strSQL = "Insert into forum(Titel, Bruger, Tekst)values('" & strTitel &
"','" & strFornavn & " " & strEfternavn & "','" & strTekst & "')"
Conn.Execute(strSQL)
Conn.Close
%>
Vh Bjarne
| |
finn elmgaard (02-03-2004)
| Kommentar Fra : finn elmgaard |
Dato : 02-03-04 19:39 |
|
>
> Når en bruger på min hjemmeside har afsendt en formular til et lille forum
> jeg har lavet, så bliver informationerne gemt i en acces-database.
> Når informationerne er gemt ønsker jeg at brugeren skal have mulighed for
at
> tilføje et billede sin besked med det samme.
> Det uploadede billede skal omdøbes til så det referere til det "id-nummer"
> som beskeden lige er blevet tildelt f.eks. 47.jpg.
> Jeg har uploadfunktion som omdøber det uploadede billede til
"idnummer".jgp,
> men hvordan får jeg fat i det "id-nummer" ?
>
> Så kort fortalt mangler jeg id-nummer på den nu oprettede række for at
kunne
> omdøbe den kommende upload til samme nummer.
>
> Således gemmes informationerne i databasen :
> <%
> Set Conn = Server.CreateObject("ADODB.Connection")
> Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath
> ("db.mdb")
> strSQL = "Insert into forum(Titel, Bruger, Tekst)values('" & strTitel &
> "','" & strFornavn & " " & strEfternavn & "','" & strTekst & "')"
> Conn.Execute(strSQL)
> Conn.Close
> %>
>
Et uafprøvet forslag:
Jeg formoder din ID i databasen er af typen stigende autonummerering. D.v.s
den netop indsatte post har den største ID. Kan du så ikke umiddelbart efter
du har executed din INSERT, execute en
strSQL="SELECT MAX(id) FROM forum".
Dine INSERTS kommer vel ikke så hurtigt efter hinanden, at dette ikke vil
fungere i praksis.
Alternativt:
strSQL="SELECT id FROM forum WHERE ...... titel og navn er lig det netop
indsatte
hvis kombinationen af titel og navn altså er et entydigt
udvælgelseskriterie.
mvh
Finn
| |
|
|