The problem is not to do with ASP datatypes. When you use an SQL string, you are sending a literal string of text to the *database engine* for processing, and the SQL string needs to be valid, so that it can be parsed by the database engine.
For example, a date field, in Access (you don't mentioned what database you are using) typically needs to be delimited as:
SELECT field1 FROM myTable WHERE dateField BETWEEN #1/1/2003# AND #31/1/2003#
(notice the # marks). SQL Server uses ' for dates.
Secondly, the date needs to be in a format that can be intepreted by the database as a valid date. I would strongly recommend formatting all dates in ISO-style format: yyyy/mm/dd so that the database isn't confused as to what date you mean.
Cheers
Ken
Microsoft MVP - Windows Server (IIS)
www.adOpenStatic.com