Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Problema Order by con db Mssql

    Passato a Mssql da Access, ho un problema ad ordinare i record; ho questa funzione qui che non so come correggere. I record vengono ordinati in base all'id e in modo ascendente:

    id 1
    id 2
    id 3
    id 4
    ecc

    quindi le sessioni create nel cod qui sotto sembra che vengono ignorate.
    Come si vede dal codice, alcuni record vengono esclusi (quelli che contengono un det valore nel campo categoria). L'esclusione funziona ma la data nn viene presa in considerazione.
    In mssql il formato data è 'datetime'.

    Un grazie per l'eventuale aiuto

    codice:
    <%
    DefaultOrder = "date"
    DefaultOrderType = "DESC"
    OrderBy = ""
    If Request.QueryString("order").Count > 0 Then
    OrderBy = Request.QueryString("order")
    If Session("accouncements_OB") = OrderBy Then
    If Session("accouncements_OT") = "ASC" Then
    Session("accouncements_OT") = "DESC"
    Else
    Session("accouncements_OT") = "ASC"
    End if
    Else
    Session("accouncements_OT") = "ASC"
    End If
    Session("accouncements_OB") = OrderBy
    Session("accouncements_REC") = 1
    Else
    OrderBy = Session("accouncements_OB")
    if OrderBy = "" then
    OrderBy = DefaultOrder
    Session("accouncements_OB") = OrderBy
    Session("accouncements_OT") = DefaultOrderType
    End If
    End If
    
    If Request.QueryString("start").Count > 0 Then
    startRec = Request.QueryString("start")
    Session("accouncements_REC") = startRec
    Else
    startRec = Session("accouncements_REC")
    if not isnumeric(startRec) or startRec = "" then
    startRec = 1
    Session("accouncements_REC") = startRec
    End If
    End If
    
    set conn = Server.CreateObject("ADODB.Connection")
    conn.Open xDb_Conn_Str
    strsql = "select * from [Files]" 
    
    escludi = ("escludi")
    If dbwhere <> "" Then
    strsql = strsql & " WHERE NOT categoria = '"& escludi &"' "
    End If
    if OrderBy <> "" then 
    strsql = strsql & " ORDER BY [" & OrderBy & "] " & Session("accouncements_OT")
    end if
    set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open strsql, conn, 1, 2 
    totalRecs = rs.RecordCount
    %>

  2. #2
    prima di

    rs.Open strsql, conn, 1, 2

    metti

    Response.Write "maGGica SQL...: " & strsql
    Response.Flush

    poi posta quello che viene a video

  3. #3
    Mi sbagliavo io..
    Ordina i records in modo ascendente basato sull'id solo quando le date sono uguali; es record inseriti lo stesso giorno.

    Facendo quello che mi hai detto tu viene fuori:

    maGGica SQL...: select * from [Files] WHERE NOT categoria = 'escludi' ORDER BY [date] DESC

    A questo punto, penso, bisogna affinare la procedura inserendo nel db anche l'ora; nel db il valore data è sempre 0.00.00.

    Anzi ma che dico, la data viene inserita in automatico, ma l'ora no, il valore è sempre 0.00.00
    la questione quindi è nel db?

  4. #4
    potrebbe essere sufficiente fare

    .... ORDER BY [date] DESC, ID DESC

  5. #5

  6. #6

  7. #7
    Originariamente inviato da Mahasunya
    Ho fatto come mi hai detto, funziona perfettamente
    Mille grazie
    e te la cavi così? clicca su e allora birra!! in firma

  8. #8

  9. #9

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.