Hello Ian,
I use the GetDbCount() function to know if a record already exists or not. It costs a roundtrip to the DB but it doesn't degrade performance.
In your case, if I correctly understand, you need to do an Insert query only the first time a page is accessed, then for months you're going to do updates.... Your idea :
- Try an update.
- If no rows updated try an insert.
is not bad if you think that an insert is exceptional.
Anyway I would solve the problem by creating a stored procedure which would test if the row exists and take the appropriate action. It seems cleaner to me but it's personal.