sql >> Databáze >  >> RDS >> Sqlserver

System.Data.SqlTypes.SqlTypeException:Přetečení SqlDateTime

Matt je s největší pravděpodobností na správné cestě. Definovali jste výchozí hodnotu pro svůj sloupec – to se však projeví pouze v případě, že skutečně něco vložíte do tabulky v databázi.

Když uděláte test jednotky, jak říkáte, s největší pravděpodobností inicializujete proměnnou DateTime na něco (nebo ne – pak to bude DateTime.MinValue, což je 01/01/0001) a pak to pošlete na SQL Server. a tato hodnota je mimo platný rozsah pro DATETIME na serveru SQL Server (jak je jasně uvedeno v chybě).

Takže co musíte udělat, je přidat řádek do vašeho testu jednotky .NET pro inicializaci proměnné DateTime na "DateTime.Today":

DateTime myDateTime = DateTime.Today

a poté jej vložte do serveru SQL.

NEBO:můžete změnit svůj příkaz SQL INSERT tak, aby nevkládal hodnotu pro tento sloupec - vypadá to, že právě teď, dělá to (a pokusí se vložit - pro SQL Server - neplatné datum do tabulky). Pokud tento sloupec neurčíte ve svém INSERT, použije se výchozí hodnota getdate() spustí a vloží do sloupce dnešní datum.

Marc



  1. podporuje node-postgres více sad výsledků

  2. MySQL – jak dlouho vytvořit index?

  3. Osvědčený postup:Import souboru mySQL do PHP; rozdělené dotazy

  4. Nekonzistentní datové typy Oracle Error:očekávaný CHAR má LONG