Hur tar man ut det högsta värdet som finns i "item_sku" och gör att det recordset som läggs in nu har item_sku+1(ett nummer högre alltså) (vill inte använda autonumber)
<%Set Databas = Server.CreateObject("ADODB.Connection")
Databas.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("videostore_2000.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM video_item"
RecSet.Open SQL, Databas, adOpenStatic, adLockOptimistic
RecSet.AddNew
RecSet("item_sku") = här ska det in...
RecSet("code") = request.form("code") + LCase(request.form("format"))
RecSet("condition") = "good"
RecSet("rentable_flag") = "1"
RecSet.Update
RecSet.Close
Databas.Close
%>
Datatypen är "text" för item_sku, trots att det bara är siffror där. (Inte jag som designat db:n..., ska dock sen ge lite förslag till den som gjort det sedan)
Aha, du vill att jag ska låsa databasen när en besökare använder den? Det är väl "lock" eller liknande kommando? *gräver i minnet*
Jo, alltså, jag hade jättegärna använt autonumber. Jag håller på att hjälpa en kompis med denna, och designen är redan klar, och när jag försökte ändra till autonumber så gick det inte pga att det fältet(?) redan var kopplat till andra fält. Och är en pk. Men jag samlar på mig synpunkterna och berättar för honom att nästa gång han designar en databas så finns det något som heter autonumber... :)
Det går inte att ändra en befintlig kolumn till auto_number men om ni bara är i utvecklingsfasen så borde ni väl kunna definiera om de tabeller som påverkas.
Hm...hur kan du se att koden inte fungerar om jag har samtidiga besökare. Det är ungefär den kod jag brukar använda, så nu blir jag lite orolig. Utveckla gärna.
Hm...efter fem minuters tänkande.....du kanske menar att om två(eller fler) personer kommer till sidan med koden ovan så får de samma värde på RecSet2("item_sku") + 1
som de försöker lägga till databasen i item_sku, dvs inte så bra då item_sku är unikt. Var det så dina tankegångar också gick?