eriksMedlem sedan apr. 20011 356 inlägg
Hej! Jag vill kolla om en identisk post i databasen redan är inlagd. Jag skriver:
connection osv....
SQLStmt = "SELECT Datum, Tid FROM Visa"
Set RS = Connection.Execute(SQLStmt)
if RS("Datum") <> " & Datum & " And RS("Tid") <> " & Tid & " then
Response.Write "Tiden läggs upp"
else
Response.Write "Tiden är redan upplagd"
end If
Nu jämförs väl bara det inmatade värdet (request) med det första i databasen. Hur ska jag skriva (loopa antagligen eller) för att det inmatade värdet ska jämföras med alla poster i databasen?
Tack! /Erik
WibergMedlem sedan juni 20002 540 inlägg
do until rs.EOF
sql-skrafs
rs.movenext
loop
------------------
"Datorer behöver i framtiden inte väga mer än 1,5 ton."
Popular Mechanics, 1949
EclipseMedlem sedan juli 20003 741 inlägg
Man kan göra som Wiberg... men det är inte rätt! :-) Wiberg vet nog hur man gör.
SQLStmt = "SELECT * FROM [visa] WHERE [datum] <> #" & request("datum") & "# AND [tid] <> #" & request("tid") & "#;"
Set RS = Connection.Execute(SQLStmt)
on error resume next
IF RS.EOF THEN
-- '## UPDATE
ELSE
-- '## CANT update
END IF
---
Tips
1. datum kan vara ett reserverat ord. (Man kan använda reserverade ord inom klamrar)
2. Använd now() i stället. Då har du både datum och tiden i samma post. (Kanske inte passar i ditt sammanhang.)
------------------
"Never underestimate your opponents." - Name the movie.
WibergMedlem sedan juni 20002 540 inlägg
Eclipses sätt är betydligt enklare och bättre än det sättet som jag beskrev ovan. :)
Skrev som jag gjorde eftersom jag inte ville skriva om din kod helt och hållet utan byggde bara på den princip som du redan påbörjat.
Men Eclipses variant är som sagt mycket bättre och det är den som jag själv brukar använda. :)
------------------
"Datorer behöver i framtiden inte väga mer än 1,5 ton."
Popular Mechanics, 1949