The IntelliSense feature of Visual InterDev is very handy, but it may induce you to add bugs to your code. For example, when you are using a recordset object's Open method, IntelliSense prompts with this tool tip:
Open(Source, ActiveConnection, [CursorType], [LockType], [Options])
When you get to the CursorType parameter, IntelliSense pops up the available choices such as AdOpenDynamic and AdOpenKeyset.
That's where the bug sneaks in. Even though you think you've added a constant such as AdOpenDynamic, you haven't actually done so in ASP. Your "constants" will all resolve to zero--probably not what you wanted.
The trick is to always include ADOVBS.INC in your database scripts such as:
<%
<!--#INCLUDE FILE="adovbs.inc"-->
%>
The alternative is to use the actual values for ActiveX Data Objects (ADO) parameters instead of the more meaningful constant names.