sql >> Databasteknik >  >> RDS >> Sqlserver

Skicka datetime till lagrad procedur

Använd DateTime.ParseExact för att få din sträng omvandlad till en datetime, passera sedan datetime

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;

Om din input kommer från ett användarskrivet värde är det förmodligen bättre att använda DateTime.TryParseExact för att verifiera inmatningen utan att få ett undantag.

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;
}



  1. Hur man tar sig runt Slick 3.0-schemaskapande får fel på grund av nyckelspecifikationer utan längd

  2. Hur säkerhetskopierar och återställer man en databas som en kopia på samma server?

  3. jpg bmp png-tillägg GET från bild För URL PHP mysql

  4. Hur man inaktiverar en främmande nyckelbegränsning i SQL Server (T-SQL-exempel)