Istället för "2013-04-12" vars betydelse beror på den lokala kulturen, använd "20130412" som är erkänt som det kulturinvarianta formatet.
Om du vill jämföra med 4 december ska du skriva '20131204'. Om du vill jämföra med 12 april ska du skriva '20130412'.
Artikeln Write International Transact-SQL Statements från SQL Servers dokumentation förklarar hur man skriver satser som är kulturinvarianta:
Applikationer som använder andra API:er, eller Transact-SQL-skript, lagrade procedurer och utlösare, bör använda de osparerade numeriska strängarna. Till exempel, ååååmmdd som 19980924.
REDIGERA
Eftersom du använder ADO är det bästa alternativet att parametrisera frågan och skicka datumvärdet som en datumparameter. På så sätt undviker du formatproblemet helt och får prestandafördelarna med parametriserade frågor också.
UPPDATERA
För att använda ISO 8601-formatet i en bokstavlig, måste alla element anges. För att citera från ISO 8601-delen av datetimes dokumentation
För att använda ISO 8601-formatet måste du ange varje element i formatet. Detta inkluderar även T, kolon (:) och punkt (.) som visas i formatet.
... bråkdelen av den andra komponenten är valfri. Tidskomponenten anges i 24-timmarsformatet.