Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Aiuto con query random

  1. #1

    Aiuto con query random

    Ciao, ho trovato su internet questo script per fare una query casuale ma non funziona....Qualcuno mi sa dire dov'è l'errore?

    codice:
    <%@Language=VBScript%>
    <%Option Explicit%>
    <%
    Dim objConn, objRSrnd, strProvider, strPathDB, SQL 
    
    ' Impostiamo la stringa di connessione al DB
    strProvider = "Provider=Microsoft.Jet.OLEDB.4.0; data source="
    strPathDB = "http://www.balbalblbalba.net/mdb-database/db1.mdb" 
    
    ' Apriamo la connessione al DB
    Set objConn = Server.CreateObject("ADODB.Connection") 
    objConn.Open strProvider & strPathDB 
    
    ' Impostiamo la SQL per estrarre MAX e MIN
    SQL = "SELECT Max(ID) AS MaxID, Min(ID) AS MinID FROM Profile" 
    
    ' Eseguiamo la query
    Set objRSrnd = objConn.Execute(SQL) 
    
    ' Memorizzo il min e max in 2 variabili di comodo
    Dim maxID, minID, rndID
    maxID = objRSrnd("MaxID")
    minID = objRSrnd("MinID") 
    
    ' calcoliamo l'ID casuale
    Randomize 
    rndID = Int((maxID - minID + 1) * Rnd + minID) 
    
    ' Impostiamo la query per etrarre il record casuale
    SQL = "SELECT * FROM Profile WHERE ID >= " & rndID 
    
    ' Eseguiamo la query
    Set objRSrnd = objConn.Execute(SQL) 
    
    ' Visualizziamo i risultati della query
    Response.Write "Record casuale:
    "
    
    Dim fld 
    For Each fld In objRSrnd.Fields 
    Response.Write "" & Nickname & ": " & objRSrnd(Nickname) & "
    " 
    Next 
    
    objConn.Close
    Set objConn = Nothing
    %>

  2. #2
    strPathDB = "http://www.balbalblbalba.net/mdb-database/db1.mdb"
    strPathDB = server.mapPath("/mdb-database/db1.mdb")

  3. #3
    Non funge

  4. #4
    Beh, la palla di cristallo per capire che errore ti da non ce l'abbiamo, a meno che non ce lo dica tu che errore ti da...

  5. #5
    Magari desse un errore! Dice proprio "impossibile visualizzare la pagina"

  6. #6
    Dalle opzioni avanzate di explorer TOGLI la spunta dalla voce Mostra messaggi di errore HTTP brevi.

  7. #7
    L'ho tolta e l'errore non lo mostra lo stesso(alcuni invece li mostra, tipo se dimentico un ")...Se può servire ho IE 7

  8. #8
    Errore esatto così come lo da il server e riga dell'errore.

  9. #9
    No, dicevo che con altre pagine è capitato che mi desse errore, ad es. se mi scordavo un "
    Ma con quella pagina non dice nulla, solo "impossibile visualizzare la pagina".
    Magari tu hai un altro codice che posso usare che sicuramente funziona per questo tipo di query?
    Grazie comunque.

  10. #10
    codice:
    <%@Language=VBScript%>
    <%Option Explicit%>
    <%
    Dim objConn, objRSrnd, strProvider, strPathDB, SQL 
    
    ' Impostiamo la stringa di connessione al DB
    strProvider = "Provider=Microsoft.Jet.OLEDB.4.0; data source="
    strPathDB = server.mapPath("/mdb-database/db1.mdb")
    
    ' Apriamo la connessione al DB
    Set objConn = Server.CreateObject("ADODB.Connection") 
    objConn.Open strProvider & strPathDB 
    
    ' Impostiamo la SQL per estrarre MAX e MIN
    SQL = "SELECT Max([ID]) AS MaxID, Min([ID]) AS MinID FROM Profile" 
    
    ' Eseguiamo la query
    Set objRSrnd = objConn.Execute(SQL) 
    
    ' Memorizzo il min e max in 2 variabili di comodo
    Dim maxID, minID, rndID
    maxID = objRSrnd("MaxID")
    minID = objRSrnd("MinID") 
    
    objRSrnd.close
    set objRSrnd = nothing
    
    ' calcoliamo l'ID casuale
    Randomize 
    rndID = Int((maxID - minID + 1) * Rnd + minID) 
    
    if len(rndID) > 0 and isNumeric(rndID) then
    
    ' Impostiamo la query per etrarre il record casuale
    SQL = "SELECT * FROM Profile WHERE [ID] >= " & rndID 
    
    ' Eseguiamo la query
    Set objRSrnd = objConn.Execute(SQL) 
    
    ' Visualizziamo i risultati della query
    Response.Write "Record casuale:
    "
    
    Dim fld 
    For Each fld In objRSrnd.Fields 
    Response.Write "" & Nickname & ": " & objRSrnd("Nickname") & "
    " 
    Next 
    
    objRSrnd.close
    set objRSrnd = nothing
    
    else
    
    response.write "Nessun valore disponibile."
    
    end if
    
    objConn.Close
    Set objConn = Nothing
    %>

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.