Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med DateTime

Postades av 2008-03-19 21:03:29 - Benni Svensson, i forum asp.net generellt, Tråden har 9 Kommentarer och lästs av 967 personer

Hur kan man få till det så att en DateTime ="0000-00-00"


Svara

Sv: Problem med DateTime

Postades av 2008-03-19 21:51:59 - Daniel Regnér

I vilket sammanhang ?

Vill du stoppa in det i db ?
eller vill du att ett datetime objekt skall vara "noll"?


Svara

Sv: Problem med DateTime

Postades av 2008-03-19 22:44:31 - Ivan Jakesevic

Dim datBorn As Date = Date.Now
datBorn.ToShortDateString()


Svara

Sv:Problem med DateTime

Postades av 2008-03-19 22:56:42 - Benni Svensson

Nja, jag har startdatum och slutdatum. Om slutdatum är mindre än startdatum så vill jag ha in null i databasen.
<code>
if (CalendarPopup2.SelectedDate > CalendarPopup1.SelectedDate)
dDate = CalendarPopup2.SelectedDate;
else
dDate =Convert.ToDateTime(null);
</code>
När jag skriver så här så får jag 2001-01-01 i databasen.


Svara

Sv: Problem med DateTime

Postades av 2008-03-19 23:00:23 - Ivan Jakesevic

a ok då är jag med.

testa med detta:

datBorn.Equals(Nothing)


Svara

Sv:Problem med DateTime

Postades av 2008-03-20 00:04:14 - Rickard Lindgren

Tror lägsta möjliga värdet är 0001-01-01 00:00:00, eller Datetime.Minvalue


Svara

Sv: Problem med DateTime

Postades av 2008-03-20 02:30:05 - Anders Rönngren

Som du vill ha det går inte. 0000-00-00 är inte ett giltigt datum. Lägsta är som sagt 0001-01-01 00:00:00. Blir knas i sql-satsen.

Men du kan göra så här typ:
//Deklarera dDate som null
Nullable<DateTime> dDate = null;

//Jämför värdena och sätt in ett datum - om else så låter du dDate vara null.
if(jämför=true){
dDate= DateTime.Now; //Som exempel bara
}

//Kolla sen vid update satsen om dDate.HasValue och updatera med null
string sql = "";
if (!dDate.HasValue)
sql = "update tSpam SET createdDate=null where spamid=2";
else
sql = "update tSpam SET createdDate='" + dDate.Value + "' where spamid=2";

Eller om du vill koda snyggare så lägg in via parametrar istället.

Mvh


Svara

Sv: Problem med DateTime

Postades av 2008-03-20 08:42:55 - Martin Adrian

För att dDate skall kunna vara null måste den antingen vara en nullable type eller också en referens

t.ex.

DateTime? dDate = null;
if (CalendarPopup2.SelectedDate > CalendarPopup1.SelectedDate)
dDate = CalendarPopup2.SelectedDate;

eller

object dDate = null;
if (CalendarPopup2.SelectedDate > CalendarPopup1.SelectedDate)
dDate = CalendarPopup2.SelectedDate; // boxing

När du sen stoppar in värdet i databasen med t.ex. ett dataset gör du
row["datum"] = dDate ?? SqlDateTime.Null;

(Av någon konstig anledning så stöder inte dataset nullable types)

Edit: Oops, började skriva svaret i går kväll men blev avbruten. Nu såg jag att Anders sa samma sak


Svara

Sv:Problem med DateTime

Postades av 2008-03-20 08:49:18 - Benni Svensson

Det gick inte så bra.
<info>
Parametern ?_6 har inget standardvärde. vid System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams,
Object& executeResult)
vid System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
vid System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
vid System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String
method)
vid System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
vid Admin_Order_Order.saveData() i c:\Inetpub\wwwroot\Mkef\Admin\Order\Order.aspx.cs:rad 321
</info>
Och då gjorde jag
<code>
Nullable<DateTime> dDate = null;
if (CalendarPopup2.SelectedDate > CalendarPopup1.SelectedDate)
dDate = CalendarPopup2.SelectedDate;

</code>
..som läggs in i parametrar....


Svara

Sv: Problem med DateTime

Postades av 2008-03-20 14:39:46 - Benni Svensson

Nu har jag gjort som så att slutdatum får vara samma som startdatum om inte annat gives, och det
fungerar bra.
Nu till ett annat problem, datapicker och timepicker har jag laddat ner ifrån http://www.eworldui.net/, och de verkar fungera bra.
I database så är fälten startDatum, slutDatum, startTid, slutTid och totalTid av datatypen DateTime.
För datumfälten så har jag en indatamask: 0000-00-00;0;_
För tidsfälten 00:00;0;_, det är alltså kort datumformat resp kort tidsformat, och tittar man i databasens
tabel så ser det bra ut, men när jag kör det via GridView1 och likadant via DetailsView1 så ser det för
dj-gt ut.
Startdatum: 2008-03-21 00:00:00
Starttid: 1899-12-30 00:00:00
Varför blir det så? Hur formaterar jag det?

[REDIGERAT]
Nu har jag löst det men inte på ett för mig tillfredställande sätt...
<code>
<%# System.Convert.ToDateTime(Eval("antalTimmar")).ToShortTimeString() %>
</code>
Försöker jag sedan att uppdatera du falera allting.


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 614
27 953
271 709
532
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies