• User

    [ASP] Problema con array

    Ciao a tutti.

    Con questo estratto di codice ASP leggo un file csv, splitto per virgola la stringa che contiene i nomi delle colonne ed importo il contenuto del file csv in un db mysql:

    
    strText = objFile.readLine   
    arrText = split(strText, ",", 17)
    
    

    Sapete dirmi come faccio a contare che gli elementi ottenuti dall'array siano sempre e soltanto 16 ?

    Cioè meno di 16 o più di 16 il sistema deve bloccarsi.

    Mi spiego meglio con un esempio.

    Ho due file csv: uno corretto, l'altro sbagliato.

    La differenza che il file csv corretto contiene questa stringa composta da 17 elementi:

    0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16

    mentre il file csv sbagliato contiene questa stringa composta da 23 elementi:

    0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22

    Quando il file CSV è sbagliato, cioè contiene un numero di elementi diversi da 16, devo rifiutare il caricamento nel db mysql.

    Avevo pensato, dopo aver splittato la stringa csv per virgola, di contare gli elementi dell'array è se uguali a 16 proseguo altrimenti mi fermo.

    Ma il controllo:

    
    strText = objFile.readLine   
    arrText = split(strText, ",", 17)
     
    if uBound(arrText) = 16 then
    ...
       else
          response.write uBound(arrText)
    end if
    
    

    sia se carico il csv corretto o sbagliato stampa sempre 16 come numero di elementi dell'array...

    Dove sbaglio?


  • User

    prova mettendo un contatore in un ciclo for - next...tipo:

    for a=0 to ubound(arrText)-1

    if a<=16 then

    else

    end if

    next

    prova...


  • User

    non mettere <=16 ma <=15 perchè l'array parte da 0 altrimenti con 16 ne prendi 17.