webForumDet fria alternativet

Sql fråga - problem (troligtvis enkelt)

Databaser & SQL

6 svar · 434 visningar · startad av Metatron

Medlem sedan dec. 200697 inlägg
Frågan#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

Medlem sedan nov. 20051 317 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? :)

Medlem sedan dec. 200697 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.

Medlem sedan nov. 20051 317 inlägg
#4

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

Medlem sedan jan. 2005327 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
Medlem sedan dec. 200697 inlägg
#6

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

Medlem sedan dec. 20014 239 inlägg
#7

Tråden flyttad från ASP.NET.

249 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)