---
title: "Datum från kalender/SQL-server?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/91872-datum-från-kalender-sql-server"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "fredrik"
published: "2003-12-04T13:24:25.000Z"
updated: "2003-12-05T07:33:23.000Z"
replies: 3
views: 267
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/91872-datum-från-kalender-sql-server"
---

# Datum från kalender/SQL-server?

## #1 — fredrik, 2003-12-04T13:24Z

På en sida använder jag olika "CurrentCulture" och "CurrentUICulture", beroende på en användares val.

Därefter hämtar jag ett värde ifrån en kalender. Värdet på datumet blir vid "2004-01-08" (och "it-IT" som culture):
\#1/8/2004#

På ett annat stället använder jag en SQLDataReader och hämtar där ett datumfält ifrån databasen med ".GetDateTime()". 
Värdet för datumet "2004-01-05" blir då:
\#5/1/2004#

Alltså sätts de tvärtom! De olika uthämtningarna görs i olika "sidor", den första hämtas i en aspx-sida och den andra hämtas i min BL-klass.

I ASPX-sidans topp anger jag alltså:
Threading.Thread.CurrentThread.CurrentCulture
Threading.Thread.CurrentThread.CurrentUICulture

Men detta verkar inte hänga med hela vägen, eller så formateras datumet helt enkelt annorlunda. 

Jag har försökt att trixa till det med bla:

```
Dim NewDate as DateTime = cType(CALENDER.SelectedDate.Tostring("d", New CultureInfo("sv-SE")), DateTime)
```

Men det hjälper inte...Det blir samma formatering ändå...

...några tips?

Permalänk: https://www.webforum.nu/p/91872

## #2 — fredrik, 2003-12-04T13:39Z

Hittade nu det egentliga felet...

Datumen som visades var i själva verket ett annat datum, "2004-05-01" istället för "2004-01-05". Problemet ligger i att jag inte kan få SQL-servern att förstå att det är den 5 Januari jag vill ha, och inte den 1 Maj.

Jag skickar i nuläget datumet som en parameter till en SP, och hur jag än försöker så blir det felformaterat.

Permalänk: https://www.webforum.nu/p/1220484

## #3 — Gladh, 2003-12-04T17:50Z

Har du testat med att skapa ditt datum med:

```
DateTime myDateTime = new DateTime(2004,5,1);
```

Detta borde fungera oberoend av vilken Culture du använder.

\- M

Permalänk: https://www.webforum.nu/p/1220615

## #4 — fredrik, 2003-12-05T07:33Z

Japp, det har jag provat. Problemet ligger som sagt inte i .NET. För oavsett om den formaterar datumet som
\#1/5/2004# eller #5/1/2004# så "vet" den att det är 5e januari 2004. 

Problemet låg som sagt när jag skulle skicka datumet som en parameter till SQL-servern. SQL-servern tolkar datumet som:
"dag/månad/år".

En temporär lösning jag gjort nu är att jag vid tilldelning av parametrarna gör:

```
DAL.AddParameter("@Param", Mydate.ToString("d", new CultureInfo("sv-SE"))
```

Och då funkar allt som det ska. Detta påvisar ju även att .NET även "vet" vilket datum det gäller.

Permalänk: https://www.webforum.nu/p/1220782

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/91872-datum-från-kalender-sql-server
