05. januar 2004 - 19:37Der er
3 kommentarer og 2 løsninger
Afgrænse udtræk
Jeg har et udtræk af en database, som jeg gerne vil have afgrænset til kun at tage når et af felterne opfylder en bestemt betingelse. F.eks. at "sted" er Aalborg.
Her er et udpluk af ASP-koden: Method= Request.QueryString("method") If Request.QueryString("method")="" Then Method="ID" End If
'De følgende linier sorterer data alt efter hvilken method, der er valgt'
Select Case Method Case "ID" Set objPersoner = Connection.Execute("select * from personer order by ID asc") Case "Sted" Set objPersoner = Connection.Execute("select * from personer order by sted asc") Case "Navn" Set objPersoner = Connection.Execute("select * from personer order by navn_1 asc") Case "Town" Set objPersoner = Connection.Execute("select * from personer order by town asc") Case "Organisation" Set objPersoner = Connection.Execute("select * from personer order by organisation asc") End Select
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Så skal du havde en where ind. Du kan lave din seelc tcase sådan den ikke har hele SQL sætningen men kun ORDER BY delen, så kan du nemlige også bygger en where ind:
Select Case Method Case "ID" ORDERBY = " order by ID asc" Case "Sted" ORDERBY = " order by sted asc" Case "Navn" ORDERBY = " order by navn_1 asc" Case "Town" ORDERBY = " order by town asc" Case "Organisation" ORDERBY = " order by organisation asc" End Select
SQLWhere = " where sted = 'Aalborg' "
Set objPersoner = Connection.Execute ("select * from personer " & SQLWhere & ODERRBY)
så tilføjer du en where sted = '"&din betingelse&"'
fx... Set objPersoner = Connection.Execute("select * from personer where sted = 'Aalborg' order by sted asc")
så kan du hvis du fx. benytter request.querystring til at finde bynavn skrive: Set objPersoner = Connection.Execute("select * from personer where sted = '"&request.querystring("sted")&"' order by sted asc")
Jeg valgte at gå efter 'eagleeye's metode ...kunne slet ikke gennemskue 'ellebaek's.
Nu virker sortering ikke mere, koden ser sådan her ud:
Method= Request.QueryString("method") If Request.QueryString("method")="" Then Method="ID" End If
Select Case Method Case "ID" ORDERBY = " order by ID asc" Case "Sted" ORDERBY = " order by sted asc" Case "Navn" ORDERBY = " order by navn_1 asc" Case "Town" ORDERBY = " order by town asc" Case "Organisation" ORDERBY = " order by organisation asc" End Select
SQLWhere = " where sted = '220104 Odense 1700' "
Set objPersoner = Connection.Execute ("select * from personer " & SQLWhere & ODERRBY)
det virker, og selvom det var den ene løsning jeg brugte, synes jeg I fortjener point begge !
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.