Hej,
Jeg har egentlig to spørgsmål der vedrører subj. Det første kommer her:
1: I mit menu system har jeg to tabeller, en der holder styr på menupunkters
placering og så en der indeholder informationer om det enkelte menupunkt.
Det er også fint nok, men når jeg tilføjer et nyt menupunkt er jeg lidt i
tvivl om min fremgangsmåde er sikker nok hvis f.eks. to brugere opretter et
menupunkt på samme tid. Jeg gør det på følgende måde:
1. Indsæt menupunkt i menu tabellen (menu)
2. Vælg det sidst indsatte id vha. LAST_INSERT_ID() fra menu tabellen
3. Indsæt info i den anden tabel (content)
Her under ses mine SQL sætninger:
strInsertNewPidSQL = "INSERT INTO menu(parent_pid,menu_sortorder) VALUES(" &
intParentPid & "," & intMenuSortOrder & ")"
Conn.Execute(strInsertNewPidSQL)
strSelectLastInsertedRecordSQL = "SELECT LAST_INSERT_ID() AS intLastId FROM
menu"
Set objLastRecordRS = Conn.Execute(strSelectLastInsertedRecordSQL)
strInsertIntoContentSQL = "INSERT INTO content(pid, lng, show_status,
content_name, module_id) VALUES (" & objLastRecordRS("intLastId") & ",'" &
strLng & "','2','" & strContentName & "'," & intModuleId & ")"
Conn.Execute(strInsertIntoContentSQL)
Er jeg hermed sikret fra at der bliver indsat et forkert id i content
tabellen hvis to brugere samtidig opretter et menupunkt?
Og mit andet spørgsmål:
2: I min content tabel ligger der et felt der hedder content (af typen
text). Dette kan man vha. en tekstboks redigere i, og det bliver bare hentet
ind i tekstboksen vha. en ganske almindelig SELECT, men det går jo ikke at
to brugere f.eks. samtidig kan ændre i indholdet, så hvordan låser jeg
recorden når en bruger redigerer i den? Og hvis recorden er låst skal der jo
gerne komme en fejlmeddelse til andre der prøver at redigere i denne record.
Håber der er nogen der kan og vil hjælpe, og hvis jeg ikke har været
forklarende nok må i endelig bare spørge og så skal jeg forsøge at uddybe.
Mvh. Jacob
|