webForumDet fria alternativet

Sql fråga - problem (troligtvis enkelt)

6 svar · 432 visningar · startad av Metatron

MetatronMedlem sedan dec. 200698 inlägg
#1

Har en dropdownlista med trevärden.

0 10 och 20

Jag vill att beroende av vilket värde man väljer skall en gridview uppdateras så att man får se medlemmar med identitet 0-10, 10-20 eller 20- oändligheten.

Hur skall jag skriva SQL-frågan.

Select *
From Medlemmar
WHERE id BETWEEN @value AND @value + 10

Problemet med detta är att att medlemmar med id 31 och mer inte syns.

Tacksam för svar

oskarsMedlem sedan nov. 20051 263 inlägg
#2

Kan du inte ha olika SQL-frågor beroende på vilket val användaren göra i select-menyn?

Om värdet användaren väljer är mindre än 20, Kör denna SQL-fråga:
Select *
From Medlemmar
WHERE id BETWEEN @value AND @value

Är värdet större eller likamed 20, Kör denna SQL-fråga:
Select *
From Medlemmar
WHERE id >= 20

Eller nått sånt? :)

MetatronMedlem sedan dec. 200698 inlägg
#3

Jag har kopplat dropdownlistan till en gridview. Använder alltså en gridview med en sqldatasource och droppdownlistan som control. Så bäst är det om det går att lösa med en sql fråga.

oskarsMedlem sedan nov. 20051 263 inlägg
#4

Sorry, då kan jag inte hjälpa dig! :)

pebiMedlem sedan jan. 2005328 inlägg
#5

vilken databasmotor gäller det?
En lösning kan ju vara att skriva en storedprocedure och bara skicka in värdet som inparameter. Så sql synrtaxen från koden blir typ: exec min_sp 20

Är det ms-sql server kan man ju iallafall ha vilkor mm, i sql anropet typ () så om man vill, det är ju inte så snyggt, men man kan skicka allt detta i ett anrop mot en ms-sql:


declare @in as numeric
set @in = 1
if (@in > 6) 
begin
select getdate()
end
else
begin
select dateadd(dd,1,getdate())
end
MetatronMedlem sedan dec. 200698 inlägg
#6

Japp blev så att jag löste det med en lagrad procedur

ZaimanMedlem sedan dec. 20012 439 inlägg
#7

Tråden flyttad från ASP.NET.

Genererad på 386 ms · cache AV · v20260730165559-full.f96bc7eb