PDA

Bekijk Volledige Versie : ASP.NET: problemen met datum conversie



StriKe
07/05/06, 20:00
Hallo,

Ik heb in een ASP.NET pagina een query opgebouwd:

"SELECT sum(b.aantalDvd) FROM tblBestelling b " _
& "WHERE " _
& "(b.dvdId=" & dr.Item("Id") & ") and " _
& "((#05/10/2006# between gehuurdVanaf and gehuurdTot) " _
& "or " _
& "(#05/12/2006# between gehuurdVanaf and gehuurdTot))"

Deze query doet het perfect.

Echter, als ik de twee datums in deze query vervang door variabelen
(die ook een datum bevatten), dan worden er geen rijen geselecteerd.

Er blijkt dus een probleem met de conversie van die datums te zijn.
Ik weet dat Access werkt met MM/DD/YYYY, de datums in de twee
variabelen zien er als volgt uit bij mij:

Dim begindatum As Date = dr.Item("Datum")
Dim einddatum As Date = dr.Item("Datum")
einddatum = einddatum.AddDays(dr.Item("Dagen"))

dr.item("Datum") in het formaat dd-MM-YYYY
dr.item("Dagen") is een gewone integer waarde

Althans, dat veronderstel ik...

Is er iemand die me kan helpen om die datums naar het juiste formaat om
te zetten zodat de query toch hetzelfde resultaat geeft met de
variabelen erin?

--
Groeten,
StriKe

http://www.internetfreakz.be

steurm@hotmail.com
11/05/06, 08:40
StriKe schreef:

> Hallo,
>
> Ik heb in een ASP.NET pagina een query opgebouwd:
>
> "SELECT sum(b.aantalDvd) FROM tblBestelling b " _
> & "WHERE " _
> & "(b.dvdId=" & dr.Item("Id") & ") and " _
> & "((#05/10/2006# between gehuurdVanaf and gehuurdTot) " _
> & "or " _
> & "(#05/12/2006# between gehuurdVanaf and gehuurdTot))"
>
> Deze query doet het perfect.
>
> Echter, als ik de twee datums in deze query vervang door variabelen
> (die ook een datum bevatten), dan worden er geen rijen geselecteerd.
>
> Er blijkt dus een probleem met de conversie van die datums te zijn.
> Ik weet dat Access werkt met MM/DD/YYYY, de datums in de twee
> variabelen zien er als volgt uit bij mij:
>
> Dim begindatum As Date = dr.Item("Datum")
> Dim einddatum As Date = dr.Item("Datum")
> einddatum = einddatum.AddDays(dr.Item("Dagen"))
>
> dr.item("Datum") in het formaat dd-MM-YYYY
> dr.item("Dagen") is een gewone integer waarde
>
> Althans, dat veronderstel ik...
>
> Is er iemand die me kan helpen om die datums naar het juiste formaat om
> te zetten zodat de query toch hetzelfde resultaat geeft met de
> variabelen erin?
>
Strike,

je gaat dr.Item(x) nog eerst moeten converteren naar het geschikte
type:
dus iets in de zin van :

Dim begindatum As Date = Convert.ToDate(dr.Item("Datum").ToString())
Dim einddatum As Date =
begindatum.AddDays(Convert.ToInt32(dr.Item("Dagen"))

Hopelijk raak je verder ...

Wat natuurlijk altijd helpt is even debuggen en je resulterende
sql-query eens bekijken, dat kan nl. al veel verklaren.

Succes,
Steurm