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


Visa det nya ID:et?

Postades av 2003-10-23 23:09:07 - André Andersson, i forum asp - allmänt, Tråden har 14 Kommentarer och lästs av 453 personer

När jag registrerar en ny user till en databas som har räknare i fältet "ID" vill jag veta på nästa sida vad han/hon får för ID.

Jag börjar med en sida, reg.asp där man anger namn o sånt, sen kommer man till reg_now.asp där all information läggs in. Går det på reg_now.asp få reda på vilket ID han/hon fick? Eller vad gör jag åt saken?


Svara

Sv: Visa det nya ID:et?

Postades av 2003-10-23 23:50:33 - Stefan Brännström

Det du kan göra är att först göra en INSERT till databasen med den nya infon... sen längre ner i skriptet så kör du en SELECT från databasen.
Ett tips är att göra något som blir unikt för just den personen t ex en tidstämpel eller ett slumpat tal/uttryck för att försäkra dig om att det är rätt person som select:as ur databasen.


Svara

Sv: Visa det nya ID:et?

Postades av 2003-10-24 00:03:40 - André Andersson

vad ska jag selecta? och hur?


Svara

Sv: Visa det nya ID:et?

Postades av 2003-10-24 00:33:23 - André Andersson

Jag vill ju att det ID:et som redan har skapats ska komma fram.

Vill INTE riskera att det blir några dubbletter.


Svara

Sv: Visa det nya ID:et?

Postades av 2003-10-24 01:48:46 - Peter Björklund

Efter en INSERT så kan du SELECT fram det senast inlagda ID't med satsen SELECT MAX(ID) FROM DinTabell


Svara

Sv: Visa det nya ID:et?

Postades av 2003-10-24 07:14:50 - Stefan Brännström

Du kan t ex göra så här:

Först INSERT INTO:
INSERT INTO databas(namn,...,tid) VALUES ('kalle',...,tidstämpel)

Sen SELECT:
SELECT ID FROM databas WHERE namn='kalle' AND tid=tidstämpel

Tänk på att teoretiskt sett så kan det, om du har otur, bli två "kalle" i databasen med samma tidstämpel... om dom typ läggs till under samma sekund... därför kan det vara bättre att hitta på någon slumpad "tidstämpel" istället för att bara använda "datum och tid".


Svara

Sv: Visa det nya ID:et?

Postades av 2003-10-24 07:20:44 - Stefan Brännström

"Efter en INSERT så kan du SELECT fram det senast inlagda ID't med satsen SELECT MAX(ID) FROM DinTabell"

Det man bör tänka på är att ovanstående inte funkar om ID:na är slumpade i tabellen. Är dom inkrementella så funkar det däremot.


Svara

Sv: Visa det nya ID:et?

Postades av 2003-10-24 07:24:23 - Patrik Andersson

<code>
Application.Lock
Först INSERT INTO:
INSERT INTO databas(namn,...,tid) VALUES ('kalle',...,tidstämpel)

Sen SELECT:
SELECT ID FROM databas WHERE namn='kalle' AND tid=tidstämpel

Application.Unlock

</code>


Svara

Sv: Visa det nya ID:et?

Postades av 2003-10-24 07:34:47 - Tomas Lundgren

Förslagen ovan är lite riskabla, tänk om det är flera personer som jobbar mot din applikation samtidigt.

<code>

strSql="insert into tblTest(namn)"
strSql=strSql & " Values ('" & request("tboxNamn") & "')" & " select @@identity"
set rsNamn=connection.execute(strSql).NextRecordset
IntPersonId=rsNamn(0)

</code>


Svara

Sv: Visa det nya ID:et?

Postades av 2003-10-24 08:24:17 - Stefan Brännström

"Förslagen ovan är lite riskabla, tänk om det är flera personer som jobbar mot din applikation samtidigt."

Precis som jag skrev ovan:
"Tänk på att teoretiskt sett så kan det, om du har otur, bli två "kalle" i databasen med samma tidstämpel... om dom typ läggs till under samma sekund... därför kan det vara bättre att hitta på någon slumpad "tidstämpel" istället för att bara använda "datum och tid"."


Svara

Sv: Visa det nya ID:et?

Postades av 2003-10-24 08:58:17 - Andreas Hillqvist

Titta på: [F&#229; ut ID p&#229; den post man just lagt till]

Finns ett exempel där du får ID nummret genom att lägga till posten med ett recordset.


Svara

Sv: Visa det nya ID:et?

Postades av 2003-10-24 09:36:26 - Hans-Gunnar Nilsson

Tjenare finns en inbyggd funktion för detta i SQL server och du använder den enligt följande. Gäller för id fält som är autoräknare.

set rs = objconn.execute "select @@IDENTITY"
newid = rs(0)

viktigt att du samma connection objekt som du hade vid skapandet av den nya posten.
Sedan kan du ju skicka med newid som querystring eller något.

/C


Svara

Sv: Visa det nya ID:et?

Postades av 2003-10-24 11:23:47 - Tommy Stenbäck

Kör du Access, kan du använda dig av adOpenKeyset:

<%
Set AddCon = Server.CreateObject("ADODB.Connection")
AddCon.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("data.mdb")
Set RSAdd = Server.CreateObject("ADODB.Recordset")
Add = "SELECT * FROM Tabell"
RSAdd.Open Add, AddCon, adOpenKeySet, adLockOptimistic

RSAdd.AddNew

RSAdd("Test") = strTest

RSAdd.Update

strNewID = RSAdd("ID")
%>

Om du använder adOpenKeyset, kan du hämta ID direkt (innan du stänger kopplingen till databasen)...
Detta fungerar utmärkt för mig!

//Tommy


Svara

Sv: Visa det nya ID:et?

Postades av 2003-10-24 11:33:24 - André Andersson

Tack för alla svar! Testade Tommys förslag och fungerade perfekt, just det att jag använder mig utav en access databas.


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 792
27 960
271 761
118
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