Du skriver hvad værdien i din dato er, men er det hvad din db fejl fortæller dig? for bør du nok selv tjekke efter.
Jeg synes mere det ligner din database som er mystisk for hvis dato'en skal være mellem det som den nævner er det ret forældet dato'er du kan arbejde med:) i hvertfald hvis du kun må have dato'er til slutningen af 1999;)
1. Der er tale om en MsSql 2000 database og feltet er af typen datetime.
2. Der ændres ikke i properties af brugeren.
3. og den fulde fejl fra der vises ser sådan ud :
SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlTypes.SqlTypeException: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
Source Error:
Line 47: cmd.Parameters.Add(new SqlParameter("@EditBy", news.EditBy)); Line 48: cmd.Parameters.Add(new SqlParameter("@Hits", news.Hits)); Line 49: int executed = cmd.ExecuteNonQuery(); Line 50: if (executed > 0) Line 51: {
Jeg ved det ikke, men store felter, her: ntext, giver sommetider mere bøvl end ret bør være. Vil du prøve at flytte din Description didst i parameterlisten (både erklæring og parameters), og sidst i INSERT-sætningens feltnavne og values. Du behøver ikke gøre noget i selve databasen. Ingen garanti (men så går tiden da med det, *g* )
Jeg synes ikke det i de forudgående indlæg er blevet afklaret HVOR fejlen indtræder.
Der blev 07/10-2007 17:29:25 foreslået at kigge på hvad du fodrer ind i din parameter - kan ikke helt se noget som entydigt beskriver om du har prøvet det eller ej:)
Hvis det var mig så ville jeg checke hvad din news.AddDate leverer, samt prøve at skrive direkte cmd.Parameters.Add(new SqlParameter("@AddDate", Now())); for at se om det er et eller andet i sql'en som fejler.
Det er nok fordi jeg ikke fik det med, men hvis jeg skriver datetime.now i min parameter kommer datoen fint med over i databasen så det må være imellem min NewsItem klasse og Sql klassen at noget går galt jeg har bare ikke fundet ud af hvor endnu :o(
Det skulle vel ikke være en klassiker ? Altså det at du laver et eller andet postback efter at din klasse har fået værdier og først efterfølgende kalder din gemme-routine, hvor din klasse er buldrende tom, medmindre du har gemt den i noget session eller noget :-)
da jeg satte en record manuelt ind i databasen vises den helt fint detailsview'et dog skal det siges at addDate og editDate ikke bliver bruger defineret da disse blot skal bruges til log og derfor skal sættes automatisk med datetime.now i koden
Når jeg kører fast i sådan noget så plejer jeg at tage de relevante kodestumper og bygge det hele op op igen fra ground zero, og som regel forsvinder fejlen uden videre forklaring:) Eftersom dette her har stået på i en hel stund, så ville jeg foreslå dig at stable en testside op og tage den derfra, fremfor at rode rundt i samme gylle:)
skal lige rettes til, at benytte set properties du har tilrådighed.
Dette betyder så, at alle kald der evt. er i din kode, som vi ikke kan se vil blive fanget af din compiller hvis altså du rettede direkte i dine variabler og de var public..
anyways.. lav rettelserne og læg dine breakpoints så havner du i dine properties hver gang der skal pilles ved variablerne og du kan på den måde "følge" ændringer der sker i dem.
hvis den breaker og du kan se dato'erne ser forkerte ud så F10/F11 så du kan se hvorfra de blev kaldt sidst..
Gør gerne som kalp siger, men kommer datoerne ikke fra dit detailsview, selv om det ikke er brugeren, der gør det? Og visningsformatet kan ikke nødvendigvis konverteres tilbage. Derfor: hvordan ser de ud, og hvad står der i dit detailsview?
Jeg formoder at du prøver at oprette en ny record fra dit detailsview ? Men har du prøvet at lave en simpel formular med et felt til din overskrift og så lave en constructor med "string headline" som den eneste variabel bare for at se hvad der så sker med datoerne ?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.