Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    75

    Array con numero totale record

    H bisogno di creare un Array in Asp in questo modo
    Dim Commesse(n)
    dove n corrisponde al numero di record appartenenti ad una tabella

    Ho scritto questo codice ma non funziona.
    Se però sistituisco ad Dim Commesse(n) Dim Commesse(100) (100 o qualsiasi numero maggiore o uguale al numero dei record della tabella) tutto funziona correttamente. Qualcuno mi sa dire dove sbaglio?
    Grazie a tutti per il vostro aiuto

    codice:
     
    Dim n
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.open(ConnessioneDb)
    sql = "SELECT Count (Id) As TotCommesse FROM Commesse"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn,3 ,3
    n=rs("TotCommesse")
    
    Dim Commesse(n)
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.open(ConnessioneDb)
    sql = "SELECT * from Clienti where ...."
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn,3 ,3 
    
    k=1
    while not rs.EOF
    Commesse(k)=rs("Ragione sociale")
    rs.movenext
    k = k + 1
    wend
    rs.close: set rs=nothing

  2. #2
    guarda che fare una dim di una variabile array passandogli una variabile non è il massimo...

    io proverei questo:

    codice:
    Dim Commesse()
    ReDim Commesse(n)
    fammi sapere...

    altri errori:

    connessione già aperta, inutile riaprirla;
    recordset non chiuso prima di aprirlo nuovamente...
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    75
    Funzionaaaa!!!
    Ottimo!! Grazie molte.

    Ok per chiudere connessione e recorset gia aperti!

    Grazie ancora
    Aldo

  4. #4
    Originariamente inviato da andreaciao_22
    guarda che fare una dim di una variabile array passandogli una variabile non è il massimo...
    perché?

  5. #5
    perchè si, dà sempre errori vbscript quando si tratta di variabili messe come dimensionamento di array..... d'altronde le tratta tutte variant...
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    75
    Quale potrebbe essere allora l'alternativa (se esiste) al metodo utilizzato.

  7. #7
    Originariamente inviato da andreaciao_22
    perchè si, dà sempre errori vbscript quando si tratta di variabili messe come dimensionamento di array..... d'altronde le tratta tutte variant...
    mai sentita questa

    prova

    codice:
    <%
    n=3000
    redim myArray(n)
    %>
    e dimmi se ti dà errore

  8. #8
    prova a fare un CInt(n) dentro alla dim Commesse... per me se la tratta come stringa la variabile...

    comunque fare una redim di un'array dopo l'inizializzazione(non conoscendone la dimensione iniziale è buona norma...
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    75
    non da sicuramente errore, ma se i records sono più di 3000 cosa succede?

  10. #10
    ma lui faceva dim commesse(n) optime, non la redim... è logico che vada in errore dai...
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

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 © 2026 vBulletin Solutions, Inc. All rights reserved.