Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Ordinamento di ricerca a/z

    Hò già formulato questa domanda in passato su questo forum, riferita al linguaggio "Vbscript"
    Volevo sapere, in "Js" qul'è la sintassi di ordinamento di ricerca dei dati?
    Es. Asc e Desc cosa devo aggiungere in questa variabile ?
    <%@LANGUAGE = JScript%>
    var sql = "SELECT * FROM risultati WHERE";

    Ho provato cosi ma non funziona mi restituisce errore
    var sql = "SELECT * FROM risultati ORDER BY NomeArg Asc";

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao ALESSANDRO007,

    questo forum è di javascript lato client... tu stai chiedendo una cosa riguardante SQL con ASP in JScript...
    la sintassi che hai usato è comunque corretta.
    Che errore ti restituisce?

  3. #3

    Re-willybit

    Ecco l'errore . . .

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error in ORDER BY clause.

    Cavolo sbaglio sempre con Js, non mi ricordo mai che devo inserirli nel acanale Asp se qualche amministartore lo legge me lo spostate per favore?

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    questa sintassi
    var sql = "SELECT * FROM risultati ORDER BY NomeArg Asc";
    è corretta (basta che esista la tabella risultati e il campo NomeArg)
    ti sei fatto stampare la query che esegui?

  5. #5

    RE-RE - willybit

    Eccola tutta com'è in origine e funzionante,


    var sql = "SELECT * FROM risultati WHERE ";

    for (var i=0; i<cerca.length; i++)
    {
    if (i > 0) sql += " AND";
    sql += " Nomearg LIKE '%" + cerca[i] + "%'";
    }
    sql += " ORDER BY Nomearg";
    var Mostra = Cn.Execute(sql)

    ---------------------------------------------
    come inserisco
    var sql = "SELECT * FROM risultati ORDER BY NomeArg Asc";

    errore.

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    prova a fare così
    codice:
    Response.Write(sql)
    Response.End
    var Mostra = Cn.Execute(sql)
    e posta qua il risultato

  7. #7

    Dove ?

    A posto della stringa arancio?
    Dici di inserire . . . response.write
    var sql = "SELECT * FROM risultati WHERE ";

    for (var i=0; i<cerca.length; i++)
    {
    if (i > 0) sql += " AND";
    sql += " Nomearg LIKE '%" + cerca[i] + "%'";
    }
    sql += " ORDER BY Nomearg";
    var Mostra = Cn.Execute(sql)

    Fammi un esempio con il codice che ti ho postato sto un'attimo in tilt, e se facessi


    sql = "SELECT * FROM risultati WHERE ";

    for (var i=0; i<cerca.length; i++)
    {
    if (i > 0) sql += " AND";
    sql += " cap LIKE '%" + cerca[i] + "%'";
    }
    sql += " ORDER BY NomeArg Asc";
    var Mostra = Cn.Execute(sql)

  8. #8
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    dicevo solo di aggiungere
    codice:
    Response.Write(sql)
    Response.End
    prima della riga
    codice:
    var Mostra = Cn.Execute(sql)
    adesso che hai postato un po' più di codice credo di sapere perché ti va in errore... secondo me il tuo array cerca è vuoto.
    Il WHERE lo devi mettere solo se l'array ha almeno un elemento
    prova così
    codice:
    var sql="SELECT * FROM risultati"; 
    var where=""
    for (var i=0; i<cerca.length; i++){
      if(i>0)where+=" AND";
      where+=" Nomearg LIKE '%"+cerca[i].replace(/'/g,"''")+"%'";
    }
    if(where!="")sql+=" WHERE "+where
    sql+=" ORDER BY Nomearg";

  9. #9

    Ok lo provo però. . .

    Nella stringa in rosso inserisco li asc e desc giusto?
    Altrimenti siamo come prima, anche perchè a me lo script funziona, è solo un problema di ordinamento che me lo manda in tilt, cmq provo e ti dico.

    var sql="SELECT * FROM risultati";
    var where=""
    for (var i=0; i<cerca.length; i++){
    if(i>0)where+=" AND";
    where+=" Nomearg LIKE '%"+cerca[i].replace(/'/g,"''")+"%'";
    }
    if(where!="")sql+=" WHERE "+where
    sql+=" ORDER BY Nomearg Asc";

  10. #10

    NADA COME PRIMA . .

    Funziona tutto anche con questa nuova soluzione che tu mi hai mandato, però non tiene conto dell'ordinamento ASC E DESC come li metto li metto il risultato del primo e l'ultimo nella ricerca non cambia.

    Forse perchè osserva c'è una cosa che mi sono dimenticato di dirti allora . . .
    Nella stringa blu, io cerco per "Caramelle" che è quello per cui mi interessa la ricerca, però devo ordinare per "Nomearg" in arancione, e sempre all'interno della stessa tabella e per la stessa ricerca.
    Forse è qui il problema?

    var sql="SELECT * FROM risultati";
    var where=""
    for (var i=0; i<cerca.length; i++){
    if(i>0)where+=" AND";

    where+=" Caramelle LIKE '%"+cerca[i].replace(/'/g,"''")+"%'";


    }
    if(where!="")sql+=" WHERE "+where
    sql+=" ORDER BY Nomearg Asc";

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.