Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Det senaste ID nummret.....

Postades av 2001-11-28 11:02:00 - Tomas Karlsson, i forum asp - allmänt, Tråden har 10 Kommentarer och lästs av 998 personer

Hej!
Försöker att hämta ut det senaste inlagda ID nummret med följande kod, men det vill sig inte, vad är galet?

<% Set Connect = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")

Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("../../_data/begBoat.mdb")

Visa = "SELECT * FROM TBL_IMAGES"
RS.Open Visa, Connect, adOpenStatic, adLockOptimistic %>

</font><font size="1">Här laddar du upp en &quot;thumbnail&quot;
(en liten bild 100x80 ) av den stora bilden som du nyss
laddade upp. ID nr. på den var <%=RS(MAX("ID"))%</font><%
RS.Close
Connect.Close
%>


Svara

Sv: Det senaste ID nummret.....

Postades av 2001-11-28 13:55:00 - Andreas Hillqvist

Jag skulle försöka med:
<code>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")

Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("../../_data/begBoat.mdb")

Visa = "SELECT MAX(ID) as LastId FROM TBL_IMAGES"
RS.Open Visa, Connect, adOpenStatic, adLockOptimistic
%>

</font><font size="1">Här laddar du upp en "thumbnail"
(en liten bild 100x80 ) av den stora bilden som du nyss
laddade upp. ID nr. på den var <%=RS("LastId")%></font>
<%
RS.Close
Connect.Close
%>
</code>


Svara

Sv: Det senaste ID nummret.....

Postades av 2002-08-13 13:18:43 - Hobil Haidari

Hur vet man att man verkligen fått det senaste fältet!?

Jag har ett liknande problem, när man precis lagt till ett fält med Recordset objektet, hur får man fram idet för det fältet!? Jag är inte ute efter det ultimata sättet bara ett några exempel på hur det skulle kunna gå till, samt varför på det sättet framför andra...

Ex.vis:
Lägg till ett fält, kör en ny sql sats som hämtar det största id värdet... finns det andra alternativ

Kör addNew. sen update. sen backa ett steg med MovePrevious, läs av id fältet, funkar det??


Svara

Sv: Det senaste ID nummret.....

Postades av 2002-08-13 13:37:03 - Lena Christensson

Om du använder dig av MovePrevious, MoveNext etc så förflyttar du dig i de posterna som ditt recordset innehåller.
Och innehållet där baseras ju då på din SQL fråga, så om du lägger till en post måste du ställa en ny fråga till din databas och plocka in den nya posten i det recordsetet.
Som alternativ till MAX fungerar även TOP tillsammans med en ORDER BY DESC där du kan ange hur många poster du vill hämta in, i ditt fall en då eftersom du är ute efter det största:
SELECT TOP 1 ID FROM TBL_IMAGES ORDER BY ID DESC

(Jag har för mig att om du använder en Access databas så kan du inte förflytta dig med MovePrevios i denna...)


Svara

Sv: Det senaste ID nummret.....

Postades av 2002-08-13 15:30:02 - Tommie Severinsson

MAX(ID) och moveprevious osv garanterar inte att du får det absolut senast skapda ID numret... (förmodar att du har unique identifier på fältet (autoräknare))

däremot..

SELECT @senasteID = @@IDENTITY

checka på de.. ;)

<code>
strSql = "INSERT INTO tabell"
strSql = strSql & "(fält, fält)"
strSql = strSql & "VALUES(värde, värde)"

oConn.Execute(strSql)

strSql = "SELECT @@IDENTITY FROM tabell"

Set oRs = Server.CreateObject("ADODB.Recordset")
oRs.Open strSql, oConn

lngID = oRs(0) <----- Absolut senaste id
</code>

har för mig att du måste ha adovbs.inc inluderat för att det skall funka.. kommer inte ihåg.. länge sedan.. men det märker du.. ;) Om det funkar mot Access vet jag inte heller... detta är gjort mot sql-db för en tid sen..


Svara

Sv: Det senaste ID nummret.....

Postades av 2002-08-13 15:33:00 - Tommie Severinsson

tillägg... en annan kan du ladda upp en bild medans du tänker eller precis efter du klickat och du vill ju ha de id:et som du fick när du laddade upp orginalbilden...


Svara

Sv: Det senaste ID nummret.....

Postades av 2002-08-13 15:42:14 - Johan Djupmarker

tomsev:s sätt är det "bästa" då det garanterar att det är användarens senaste id (eller blir det dumt när allt körs på samma server? det är väl senaste id för aktuell connection?). Det ska fungera på Access också f.o.m. version 2000.

/Johan

PS. adovbs behövs inte...


Svara

Sv: Det senaste ID nummret.....

Postades av 2002-08-13 15:56:04 - Tommie Severinsson

Tack JohanD.. ;) hähä

> > (eller blir det dumt när allt körs på samma server? det är väl senaste id för aktuell connection?).

Spelar ingensomhelst roll, du får alltid ut det senaste id:et för just din "session" så att säga... det är databasen som är källan, inget annat..

i detta fallet laddar man upp en bild, ett id skapas, du tar ut det id:et och visar det..

Om du hade använt MAX(id) och andra förslag så hade risken varit, eller rättare sagt, det hade varit såhär (eftersom sql frågan är ställd på ett visst sätt) att du hade fått fel id, om någon trycker precis efter dig..

eller hur?? rätta mig om jag har fel.. ;)


Svara

Sv: Det senaste ID nummret.....

Postades av 2002-08-13 16:11:30 - Patrik Andersson

Man skulle kunna lösa det genom att låsa applicationen just då med

<code>
Application.Lock
'hämta id

Application.Unlock
</code>

för att vara helt säker på att att man får rätt id

//Putte


Svara

Sv: Det senaste ID nummret.....

Postades av 2002-08-14 02:41:47 - Hobil Haidari

å fasiken, access stödjer oxo @@IDENTITY variabeln, hmm det måste jag testa.

Tack för alla tipsen, det där med Lock o Unlock känns lite uber seriöst, men det kommer säkert till användning någon gång.


Svara

Sv: Det senaste ID nummret.....

Postades av 2002-08-14 10:07:12 - Tomas Lundgren

Jag brukar köra den här till SQL och adodb.rocordset till access. @@identity måste köras i samma batch.

<%
set connection = server.createObject("adodb.Connection")
connection.open "dsn=labb; uid=sa; pw="

Dim rs, ny_identity, strSql

strSql = "insert into tblNamn(namn) select 'Tomas Lundgren'" & "select @@identity"
Set Rs = connection.execute(strSql).nextrecordset

ny_identity = rs(0)
response.write ny_identity
%>


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 830
27 960
271 761
3 026
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies