Il problema è dato dal fatto che non è in quel modo che si fanno le query...

Meglio usare i parametri, sono stati creati appositamente per fornire un valido strumento con cui validare i dati da passare ed evitare ambiguità lasciando che sia lo strato inferiore (rispetto al livello in cui si trova chi scrive il codice dell'applicazione) a gestire conversioni nel modo corretto, eludendo anche possibili attacchi di SQL Injection.

Nelle discussioni in rilievo c'è un riferimento ad un thread che tratta questa problematica in modo approfondito: questo.

Ciao!