Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Problema su random

  1. #1
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374

    Problema su random

    Ho questo codice che si occupa di estrarre un singolo valore a caso dal database per gestire un'animazione flash, però mi da errore:
    codice:
    <%
    Randomize()
    
    Function CreaFiltro(strFiltro)
      Dim strValori
      Dim lngInizio
      Dim lngFine
      Dim lngPuntatore
    
      CreaFiltro = ""
      strValori = Split(strFiltro)
      lngInizio = LBound(strValori)
      lngFine = UBound(strValori)
    
      For lngPuntatore = lngInizio To lngFine
        If CreaFiltro <> "" Then CreaFiltro= CreaFiltro & " AND "
        CreaFiltro = CreaFiltro & "id <> " & strValori(lngPuntatore)
      Next
    End Function
    
    Dim strValoriEstratti
    Dim rsflash
    Dim lngNumeroValoriDaEstrarre
    Dim lngPuntatore
    Dim lngMuovitiAvantiDi, file_swf
    
    strValoriEstratti = 0
    lngNumeroValoriDaEstrarre = 1
    
    set rsflash = Server.CreateObject("ADODB.recordset")
    strSql = "SELECT flash_movie FROM promo_flash_ecom"
    rsflash.Open strSql, objCon, 3, 3
    
    For lngPuntatore = 1 To lngNumeroValoriDaEstrarre
      rsflash.MoveFirst
      rsflash.Filter = CreaFiltro(strValoriEstratti)
      lngMuovitiAvantiDi = Int(RND * rsflash.RecordCount)
      rsflash.Move lngMuovitiAvantiDi
    
    file_swf = rsflash("flash_movie")
    next
    
    response.write strSql
    rsflash.Close
    %>
    Mi dice in pratica che non esiste nessun record, sebbene il database non sia vuoto!
    Tipo di errore:
    ADODB.Recordset (0x800A0CC1)
    Impossibile trovare l'oggetto nell'insieme corrispondente al nome o al numero richiesto.
    /computerline/ecom/ecom_home_tmp3.asp, line 56

  2. #2
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Grinder, fai un pò di debug, cominciati a stampare le variabili per controllare se si valorizzano correttamente...

  3. #3
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    L'ho fatto, i dati ci sono, perchè se ometto tutte le parti riguardanti il ciclo funziona tutto...ovviamente il flash è sempre lo stesso però

  4. #4
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374

  5. #5

    Re: Problema su random

    Originariamente inviato da Grinder
    Mi dice in pratica che non esiste nessun record, sebbene il database non sia vuoto!
    Che db usi?

  6. #6
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Uso MySQL, con Access funzionava tranquillamente. Ho provato a saltare il random e ripetere i record con "do while...loop" e non da errori

  7. #7
    Originariamente inviato da Grinder
    Uso MySQL, con Access funzionava tranquillamente. Ho provato a saltare il random e ripetere i record con "do while...loop" e non da errori
    Ma allora la funzione Randomize non ti serve...modifica la query in tal senso:
    codice:
    SELECT * FROM tabella ORDER BY RAND()

  8. #8
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Grazie mille! E' decisamente più semplice!

  9. #9
    Originariamente inviato da Grinder
    Grazie mille! E' decisamente più semplice!

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.