Toon posts:

[asp] query kiezen*

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey,

FF een vraagje, ik ben al de hele ochtend aan het pielen met dit stukje code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<%
    db = "c:\inetpub\wwwroot\switch1.mdb" 
    Set conn = Server.CreateObject( "ADODB.Connection" ) 
    conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db & ";" 


    Dim MySQLstatement
    Dim MySQLstatement1

    MySQLstatement = "SELECT * FROM berichten ORDER BY datum"

    MySQLstatement1 = "SELECT * FROM berichten ORDER BY datum DESC"

    Dim Myrecordset 
    Set Myrecordset = server.createobject ("ADODB.recordset")
    
    IF paramsorteer = sort1 THEN
    
    Call Myrecordset.open (MySQLstatement1, Conn)
    
    ELSE
    
    Call Myrecordset.open (MySQLstatement, Conn)
    
    END IF
    
%>


De bedoeling is dat hij de lijst anders sorteert wanneer ik een param mee geef met de naam sort1. Maar op de een of andere manier pakt hij altijd de onderste sql code. Ik dacht echt dat het zo moest, of vergis ik me nou?? 8)7

Ik heb ook nog geprobeerd sort1 tussen " te zetten, maar dat helpt dus ook niet..iemand een idee?

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:40
Wat kan paramsorteer bevatten?
Welk type varialbe is paramsorteer? (int, string, ...)

Heb je de code al eens gedebugged? Response.Write zetten in die IF's zodat je kunt zien welke uitgevoerd wordt? etc....

Eigenlijk zou het mooier zijn als je het op deze manier doet:

code:
1
2
3
4
5
6
7
strSqlStatement = 'SELECT * FROM TABEL ORDER BY VELD';

IF paramsort = 'sort1' THEN
  strSqlStatement = strSqlStatement & ' DESC';
END IF

// Execute sql statement hier

[ Voor 39% gewijzigd door whoami op 07-01-2003 14:20 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
uhm jaja...ff denken hoe ik dat dan weer in mijn script bouw..haha..

Verwijderd

nou zo:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<%  
    db = "c:\inetpub\wwwroot\switch1.mdb" 
    Set conn = Server.CreateObject( "ADODB.Connection" ) 
    conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db & ";" 

    Dim Myrecordset, sql
    
    
    sql = "SELECT * FROM TABEL ORDER BY VELD"
    IF paramsort = "sort1" THEN
        sql = sql & " DESC"
    END IF
    
    Set Myrecordset = conn.execute(sql)

%>

Verwijderd

Topicstarter
uhm nou waarschijnlijk niet, wat zo doet ie het ook nog steeds niet..
Hij pakt de gewone SQL statement met een paramsort = sort1

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:40
Wat is de waarde van die paramsort? Ben je zeker dat die sort1 is?
Heb je hem al eens naar het scherm ge-output? (Response.write).

https://fgheysels.github.io/


Verwijderd

Waarschijnlijk vergeet je paramsort een waarde mee te geven uit het Request object.

Verwijderd

Ik denk dat mijn bovenbuurman gelijk heeft. Ter test kun je ook eens
code:
1
2
3
if 1=1 then
        sql = sql & " DESC"
end if


Doen. Als je dan wel het juiste resultaat ziet dan weet je zeker dat je if statement niet juist is.

Verwijderd

Topicstarter
yep die laatste werkte wel. Ik geef vanuit de request opbject wel een param mee, namelijk die sort1. Het mag overigens ook wel wat anders zijn als sort1, a of iets is ook goed..
Pagina: 1