webForumDet fria alternativet

Kontrollera om datum redan finns i db

ASP

1 svar · 196 visningar · startad av K Anka

Medlem sedan feb. 20023 inlägg
Frågan#1

Jag har en access-db som innehåller ett par kolumner:

ID Date Time Value
01 2002-01-01 11:53 4,7
02 2002-01-02 04:16 1,7
.
.
25 2002-01-25 01:53 5,7

Innan jag skriver in ett nytt värde genom att mata in alla parametrar som kommer i QueryString vill jag på ett enkelt och säkert sätt kontrollera att det inte finns en rad med samma datum i databasen. Om det redan finns ska ett felmeddelande returneras. Finns inget mätvärde ska data skrivas in i db.

Hur kontrollerar jag enkelt och säkert förekomsten av ett datum?

/Kalle

Medlem sedan dec. 200012 464 inlägg
#2

Det beror på vilken datatyp du har använt för dina kolumner, om date och time är lagrade som text så borde följande gå att använda.

set connect = server.createobject("adodb.connection")
connect.open "dsn"
newDate = request.queryString("date")
newTime = request.querystring("time")

query = "select 1 from t where [DATE] = '" & newDate & "'" & _
" and [TIME] = '" & newTime & "'"
set rs = connect.execute(query)
if rs.eof then
'ingen post fanns, gör insert
else
response.write "Det finns redan en post med dessa värden"
end if
rs.close
connect.close

Om du har datetime som datatyp så får du byta ' mot #

Varför har du två kolumner? Är det inte enklare att använda en som har typen datetime?

Sen så är namnen DATE och TIME inte så lämpliga då det är reserverade ord i Access, det är däför jag anger dem inom [] i koden.

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