---
title: "ddl-val till sql-fråga, kolla datum"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/126529-ddl-val-till-sql-fråga-kolla-datum"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "laidback"
published: "2005-04-16T21:08:59.000Z"
updated: "2005-04-17T21:38:45.000Z"
replies: 2
views: 302
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/126529-ddl-val-till-sql-fråga-kolla-datum"
---

# ddl-val till sql-fråga, kolla datum

## #1 — laidback, 2005-04-16T21:08Z

På sidan default.aspx ska de poster i en tabell som är skickade idag hämtas per automatik (dvs däre messageDate är samma som dagens datum), men det ska även gå att välja att visa tidigare dagars poster.

Just nu har jag en Sub som ser ut så här:

```
Public Sub getMessages()

	objCmd = New SqlCommand("SELECT * FROM m_messages WHERE messageDate>'" & Today & "' ORDER BY messageDate DESC", objConn)
	objConn.Open()
	objRdr = objCmd.ExecuteReader()
	dgMessages.Datasource = objRdr
	dgMessages.DataBind()
	objRdr.Close()
	objConn.Close()
	
End Sub
```

Jag tänkte använda en dropdownlist (eller något annat, om det är bättre) för att välja dag. 

Välj dag
Idag
Igår (1 dag sedan)
Två dagar sedan 
Tre dagar sedan
... osv 

Hur ska jag överföra det valet till min sql-fråga på ett bra sätt? Antar att man kan använda antalet dagar och subtrahera på något fint sätt, eller så. Idéer?

Antar att man kan göra det valda antal dagarna till en variabel och sedan stoppa in den variabeln i sqlfrågan och därefter kolla den mot datumet?

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

## #2 — Guffa, 2005-04-17T07:53Z

Om du lägger in hur många dagar bakåt du vill visa som värde i dropdownlistan, alltså Idag=0, Igår=1 och så vidare, så kan du enkelt dra ifrån det antalet dagar ifrån dagens datum:

objCmd = New SqlCommand("SELECT \* FROM m_messages WHERE messageDate\>'" & DateTime.Today.AddDays(-Int32.Parse(fldSelectDays.SelectedValue)).ToString() & "' ORDER BY messageDate DESC", objConn)

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

## #3 — laidback, 2005-04-17T21:38Z

Okej, det ser ju lovande ut!

Tanken är att när sidan laddas ska dagens poster hämtas automatiskt, så jag tänkte så här: 
använda en ifsats för att kolla om det finns något val från ddlistan, om inte så ska dagens hämtas, men om det finns något så ska din sql fråga köras i stället. Verkar det vettigt? 

Dock så funkar inte min ifsats (föga förvånande kanske :r ). Någon som orkar ta sig en titt?
Default så hämtas inga inlägg alls, vid val med ddl'en så hämtas dock dagens oavsett vad man väljer. 

```
Public Sub getMessages(Source As Object, E As EventArgs)
    if Request.Form("ddlSelectDays.SelectedValue") = ""	
	objCmd = New SqlCommand("SELECT * FROM m_messages WHERE messageDate>'" & Today & "' ORDER BY messageDate DESC", objConn)
	objConn.Open()
	objRdr = objCmd.ExecuteReader()
	dgMessages.Datasource = objRdr
	dgMessages.DataBind()
	objRdr.Close()
	objConn.Close()
    else 
	objCmd = New SqlCommand("SELECT * FROM m_messages WHERE messageDate>'" & DateTime.Today.AddDays(-Int32.Parse(ddlSelectDays.SelectedValue)).ToString() & "' ORDER BY messageDate DESC", objConn)
	objConn.Open()
	objRdr = objCmd.ExecuteReader()
	dgMessages.Datasource = objRdr
	dgMessages.DataBind()
	objRdr.Close()
	objConn.Close()
    End if
	
End Sub
```

r. /snurrig formulering

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/126529-ddl-val-till-sql-fråga-kolla-datum
