Hej alla grymm SQL snubbar...
jag har en databas som innehåller en massa dagar som innehåller bokningar. Så som databasen är byggd idag har jag inga möjligheter att bygga om den även om man helst ville.
Jag vill alltså köra en UPDATE på en rad som redan finns och lägga ni registreringsnr på en bil på denna rad för att tala om att denna tiden är bokat.
Men om tiden redan är bokad så vill jag självklart inte köra över med mitt nya registreringsnumret utan meddela att det är uppbokat.
I dagsläget har jag löst det med 2 lookups. Först kolla om det är ledigt och om JA så fyll på med den nya bokningen.
strSQL = "SELECT REGNR FROM BOKADEKVARTAR WHERE REGNR="""" AND KVARTINTERVALLID=" & i & " AND DAGID=" & Request.Form("dagid")
rs.Open strSQL, Conn
if rs.EOF then
response.write "det är uppbokat redan"
else
' det finns lediga tider
strSQL = "UPDATE BOKADEKVARTAR SET REGNR='" & Request.Form("tidregnr") & "' WHERE KVARTINTERVALLID=" & i & " AND DAGID=" & Request.Form("dagid")
Conn.Execute (strSQL)
end if
Som ni förstår finns det här ett problem eftersom det är möjligt att två bokar samtidigt och här finns utrymme för bekymmer, att man bokat över en redan gjord bokning. Eftersom det finns ett tidsglapp mellan de två lookups så skulle det vara möjligt att ngn hinner emellan.
Kan man lägga in "UPDATE IF REGNR=""" och sedan fånga upp om upppdateringen gjordes eller inte.. Ngn lösning måste finnas.. Men vilket sätt är bäst ?
Tack på förhand..
