webForumDet fria alternativet

DropDownList

4 svar · 522 visningar · startad av Arne

ArneMedlem sedan maj 2000267 inlägg
#1

Jag har en tabell (MSSql) där alla kolumnerna är av datatypen bit (True / False) förutom en kolumn (id) som är av datatypen int

Jag vill hämta endast de kolumnnamn till min asp:DropDownList (DataTextField) som har värdet "True"

Hur löser jag enklast det.
Vet inte om denna fråga ska ligga i SQL forumet eftersom jag misstänker jag ska lösa det i min select sats?

Just nu har jag löst det i en If sats, vilket känns som en mycket dålig lösning :(

zzzimonMedlem sedan jan. 200817 inlägg
#2

Vad jag förstår är problemet alltså att i SQL kunna
sätta villkor på just vilka kolumner du vill få
tillbaka från SQL-anropet. Normalt fungerar ju en
SQL-SELECT sats så att villkoret kontrollerar vilka
rader man vill få tillbaka.

Problemet kan ju vara om SQL tror att det kan finnas
flera rader som ska returneras med Recordsetet. Dessa
rader kan ju ha olika true-kolumner, och då vet den inte
vilka kolumner den ska skicka med.

I ditt fall gissar jag bara att det alltid bara är en rad
som skickas tillbaka med Recordsetet, så logiskt sett
borde man alltså kunna utforma en SQL-sats för detta.
Vet tyvärr dock inte om det gjorts.

Får se om någon annan vet

ArneMedlem sedan maj 2000267 inlägg
#3

en rad

Helt rätt.
Det är alltid bara en rad som skickas tillbaka med Recordsetet. Jag väljer rad genom id........
Och i den raden vill jag bara skicka till DropDownListens DataTextField de kolumn namn som är true

ZaimanMedlem sedan dec. 20014 239 inlägg
#4

Kan du visa lite kod så bli det lättare att hjälpa till.

Beskriv tabellen bättre och visa önskat resultat.

En gissning blir:

SELECT id, kolumn FROM tabellen WHERE kolumn = true
ArneMedlem sedan maj 2000267 inlägg
#5

tävlingskalender

Jag har en tävlingskalender där arrangören kan logga in och anmäla en tävling.
När arrangören skapar en tävling lagras informationen om den tävlingen i en tabell (kalender) t.ex plats, datum, info, förening, postgiro, anmälningsavgift m.m.

Tävlingen innehåller en ca 40 klasser som arrangören kan bocka i via asp:CheckBox
Klasserna till tävlingen sparas i den tabell (klasser) jag pratar om. Checked = true

Fältet Id i tabellen klasser är kopplad till fältet tavlingsid i tabellen kalender.
Nu loggar medlemmen in och ska anmäla sig till tävlingen och finner vald tävling i kalendern och ska anmäla sig. I den DropDownList jag nämnt vill jag lista vilka klasser som arrangören kommer att köra, med andra ord det arrangören har valt genom att bocka i vald klass i anmälningsformuläret.
Det kan vara från en mindre tävling (4 klasser) till en större (20 klasser) beroende på årstid.

Det är detta jag skulle vilja lösa istället för att använda if satser……..

Nu använder jag:

If dr2("CMY") = true
ddlKlasser.items.add(new ListItem("CMY", "CMY"))
End If

Vilket jag tycker är en dålig metod….

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)