webForumDet fria alternativet

Lägger till fakta i tabell och hämtar sedan Ordernr.??? Hjälp tack!

ASP

8 svar · 277 visningar · startad av jvc_man

Medlem sedan okt. 2003165 inlägg
Frågan#1

Godkväll!

Jag uppdaterar min databas (tabell) och där finns en räknare (ordernr), dvs jag lägger till kundid och när jag gjort det så skapas automatiskt ordernr (räknar ju).
Dock får jag det ej att funka att hämta ut detta specifika ordernr i samma sats.

Jag kan nämligen inte stänga och öppna recset för att hämta det, då kan en annan person ha skapat ett nytt ordernr, och då kommer det bli det som jag hämtar, och det vill jag inte. jag kan inte heller hämta ordernr för den specifike användaren, för han kan ha flera ordernr...

<% RecSet.AddNew %>
<% RecSet("anvID") = Session("anvID") %>
<% RecSet.Update %>
-----------------------------------
Här måste jag plocka ut ordernr som har skapats, men det går ej... Eller är det någon som vet en annan lösning?
-----------------------------------
<% RecSet.Close %>
<% Set RecSet = Nothing %>

Hoppas någon känner sig hjälpsam och kan hjälpa mig med detta "lilla" problemet!

Mvh Björn

Medlem sedan okt. 2003165 inlägg
#2

Snälla, nu har 6 personer läst tråden, kan ingen hjälpa mig, snälla... Jag måste få det att fungera, om någon tror sig förstå eller kunna lösa det, men inte förstår riktigt det jag har försökt förklara, skiv det så att vi slutligen kan nå svaret...

Jag vill dessutom plocka ut datum som också läggs till automatiskt i tabellen när jag lägger till andID som jag skrivit ovan. Anledningen till problemet är att flera användare kanske lägger till orders samtidigt ju...

=(

Mvh Björn

Medlem sedan okt. 2003165 inlägg
#3

<% RecSet.AddNew %>
-----------------------------------
<% ordernr = RecSet("Ordernr") %>
-----------------------------------
<% RecSet("anvID") = Session("anvID") %>
<% RecSet.Update %>

<% RecSet.Close %>
<% Set RecSet = Nothing %>

Vet någon vad som är felet, detta funkar ej, vet ej hur jag skall göra, snälla! =()

Mvh

Medlem sedan dec. 200012 464 inlägg
#4

Använd insert för att lagra nya poster. Addnew innebär bara en merkostnad.

Efter det att du har gjort insert kan du få reda på det senast genererade värdet genom frågan

set rs = connect.execute("select @@identity")
newid = rs(0)
Medlem sedan okt. 2003165 inlägg
#5

Hej, tack, dock klyddar det lite, ny funktion för mig...

På vilket sätt stämmer detta ej:

<% RecSet.Insert %>
<% RecSet("KundID") = Session("kundID") %>
<% RecSet.Update %>

<% RecSet.Close %>
<% Set RecSet = Nothing %>

<% Set RecSet = Connect.Execute("select @@identity") %>
<% Ordernr = RecSet(0) %>

<% RecSet.Close %>
<% Set RecSet = Nothing %>

Mvh Björn

Medlem sedan dec. 200012 464 inlägg
#6

Med insert menar jag sql-kommandot insert. Det behövs inget recordset för själva inserten.

<%
sql = "insert into t(kundid,prod) values(" & session("kundid") & ",'" & replace(prod,"'","''") & "')"
connect.execute sql,,128

Set RecSet = Connect.Execute("select @@identity")
Ordernr = RecSet(0)
%>

Ovanstående exempel gör insert på en tabell med en auto_increment kolumn, en numerisk kolumn(kundid) och en text-kolumn (prod).

Medlem sedan okt. 2003165 inlägg
#7

Det funkade nu, dock använder jag fortfarande AddNew.
Vad skulle den konkreta skillnaden vara, dvs den märkbara skillnaden?

Mvh

Medlem sedan okt. 2003165 inlägg
#8

Tack för svaret, mycket tacksam!

Mvh

Medlem sedan dec. 20003 887 inlägg
#9

jvc_man skrev:

Det funkade nu, dock använder jag fortfarande AddNew.
Vad skulle den konkreta skillnaden vara, dvs den märkbara skillnaden?

Mvh

I händelse av att du skulle genomföra operationen många gånger skulle du förlora i tid på att använda .AddNew() jämfört med en INSERT.
Jag rekommenderar dock att du alltid avänder dig av INSERT.

256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)