Użyj DateTime.ParseExact aby przekonwertować ciąg na datę i godzinę, a następnie podaj datę i godzinę
string test = "2014-09-18";
DateTime dt = DateTime.ParseExact(test, "yyyy-MM-dd", CultureInfo.InvariantCulture);
SqlParams[0] = new SqlParameter("@StartDate", SqlDbType.DateTime);
SqlParams[0].Value = dt;
Jeśli dane wejściowe pochodzą z wartości wpisanej przez użytkownika, prawdopodobnie lepiej jest użyć DateTime.TryParseExact aby zweryfikować dane wejściowe bez uzyskania wyjątku.
if(!DateTime.TryParseExact(test, "yyyy-MM-dd",
CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
MessageBox.Show("Type a date in the format yyyy-MM-dd");
return;
}