Anche se in apparenza e facendo qualche giravolta potrebbe funzionare, e' sbagliato trattare un campo date come fosse testo. Questo ti esporrebbe a vari problemi (impostazioni formato delle date ecc.) che puoi evitare completamente usando un parametro di tipo date. In questo caso infatti, ti puoi disinteressare del formato della data che troverai sul server in quanto e' il dataprovider che se ne occupa.
es.
codice:
tuocommand.CommandText = "SELECT * FROM tabella WHERE CampoData = @CampoData"
tuocommand.Parameters.Add("@CampoData", Data.SqlDbType.DateTime).Value = CDate("stringaditesto")