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

    confrontare una riga del recordset con la precedente

    Devo banalmente creare una funzione che scorra un recordset e mi dica, tra i valori di un determinato campo, qual è il valore massimo.
    Il codice che ho scritto è questo:
    var i=0;
    var maxGeni = 0;

    while(!domprotRs.EOF){ // ciclo per popolare l'array dei domini proteici
    domProt[i] = String(domprotRs(2));
    if(domprotRs(0) >= maxGeni){ // se il num geni del record corrente è > del precedente
    maxGeni = domprotRs(0); // aggiorno il valore al record corrente
    Response.Write("numero di geni aggiornato al valore "+maxGeni+"
    ");
    } else {
    Response.Write("numero di geni non aggiornato, valore attuale "+maxGeni+"
    ");
    };
    i++;
    domprotRs.MoveNext();
    };


    peccato che quando io incremento il recordset, automaticamente mi incrementi anche la variabile che fa riferimento a quel recordset!! e così perdo l'informazione sul record precedente.
    E' normale tutto ciò? :master:
    Come faccio ad ovviare al problema?

  2. #2
    A) E se invece apri un recordeset ordinato per quel campo DESC e fai la query su TOP 1?

    B) Comunque, scorrendo il recordset basta che memorizzi il valore su una variabile e lo confronti ogni volta col valore del record, se il valore del record è maggiore, allora assegni il valore alla variabile

    Ma che razza di sintassi è quella? Da quando ASP ha le graffe e tutto il resto

  3. #3
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    non ho ben capiuto cosa vuoi fare

    ma se ti serve semplicemente sapere il valore massimo di un campo
    ti conviene scrivere la select
    così

    "select max(nomeCampo) from tabella"
    Forza la magica ROMA

  4. #4
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    Originariamente inviato da Stan


    Ma che razza di sintassi è quella? Da quando ASP ha le graffe e tutto il resto
    è asp scritto in javascript
    Forza la magica ROMA

  5. #5
    E si può fare? S'è sempre fatto? Non ne sapevo niente...
    Vantaggi? Posso giocare con gli array e le variabili come si fa con flash e js?

  6. #6
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    Originariamente inviato da Stan
    E si può fare? S'è sempre fatto? Non ne sapevo niente...
    Vantaggi? Posso giocare con gli array e le variabili come si fa con flash e js?
    per programmare in Javascript
    basta che al posto di
    <%@ Language=VBScript %>

    scrivi

    <%@ Language=JavaScript %>


    per quanto riguarda gli array e le variabili
    anche in vbscript ci puoi lavorare benissimo
    dipende da cosa ti serve

    però forse stiamo andando un pò OT
    Forza la magica ROMA

  7. #7
    basta che memorizzi il valore su una variabile e lo confronti ogni volta col valore del record
    è quello che infatti fa quel codice, il problema che avevo è che la variabile in cui salvavo il valore corrente, aggiornando il record veniva aggiornata anche la variabile

    ma ho risolto da sola
    il problema era che passavo alla variabile il record senza fare un casting ... in parole povere la variabile era NON una variabile autonoma, ma semplicemente una sorta di "puntatore" al campo del recordset.

    la sintassi giusta è, alla riga di assegnamento alla variabile:
    maxGeni = String(domprotRs(0)); // aggiorno il valore al record corrente
    con in rosso la variazione che mi ha permesso di far funzionare il codice


    ordinare i campi da SQL con una query lo so che era la soluzione più banale :rollo:, ma non posso utilizzarla, perchè i campi mi servono anche ordinati in modo alfabetico ... beh insomma, dovevo farlo da codice.

    sì, uso asp con sintassi javascript ... non ho scelto io di farlo, ma mi è stato imposto. sinceramente non ho capito ancora neanche io quale sia il vantaggio, sempre ammesso che ci sia. uno indubbio è che il codice è più simile a C, più leggibile. cmq per i miei scopi asp lo uso praticamente solo per estrarre valori da dei DB.

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.