I don't know anything about ASP, but - generally speaking - numbers should be left alone (with no quotes) while strings should be enclosed in quotes.
In Oracle, you'd do something like this:
SELECT * FROM some_table
WHERE number_column = 1
AND char_column = '1'
Sometimes it might work OK if you leave it this way:
... AND char_column = 1
because DB engine would perform implicit conversion from a number to a character. But this is not recommended as you might end with a VALUE ERROR (for example, you have numbers stored into the character column for years, and then, suddenly, someone enters 'A' into that column which is perfectly OK regarding the database, but your code will fail if there are no enclosing single quotes on the variable).
Therefore, your 2nd and 3rd answer seem to be correct from my point of view (which doesn't have to be correct).