Ich habe eine Tabelle mit einem Feld Datum Datentyp. Obwohl ich nur das rohe Datum auf diesem Gebiet erwarten würde, wenn ein Wert in mich wie so Einfügen:Soll ich Date oder DateTime SqlDbType beim Hinzufügen eines DateTime C# -Werts für ein Date SQL Server-Feld verwenden?
update reportsgenerated
set begindate = '2016-02-01'
where rptgenid = 2;
... es sems tatsächlich ein Datum Zeitwert zu speichern, wie es in LINQPad als "2 dargestellt wird,/1/2016 12:00:00 Uhr ".
Der C# Wert I auf den Parameter bin zuweisen, wenn ein Datetime-Typ Einfügen (wie C#, um ein „Date“ -nur Typ nicht haben):
DateTime begDate = // bla
Wenn das der Fall, sollte ich bezeichnet die Parameter als Datumstyp, um die Tabelle entsprechen:
insertRptsGenerated.Parameters.Add("@BeginDate", SqlDbType.Date).Value = begDate;
... oder als Datetime-Typ, entspricht den Typ des zugewiesenen Wertes:
insertRptsGenerated.Parameters.Add("@BeginDate", SqlDbType.DateTime).Value = begDate;
?
ist besser, DATE-Typ zu verwenden, wenn es in der SQL-Version verfügbar ist. Ich denke, in C# wird es nicht anders sein als DATETIME Felder. – FLICKER
Mögliches Duplikat von [.NET-Systemtyp zu SqlDbType] (http://stackoverflow.com/questions/35745226/net-system-type-to-sqldbtype) – Plutonix