Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    89

    AIUTO: IMPOSSIBILE APRIRE ALTRE TABELLE!

    Ho un problema: quando faccio la parte di script per correlare gli articoli, dopo l'apertura di 16 articoli, se aggiungo il diciassettesimo mi compare l'errore Ogetto non valido o non impostato...ma il fatto è che dopo ogni cicli iterativo io apro il recordset, leggo i dati e poi lo chiudo, quindi non capisco perchè mi compare quell'errore.
    Vi posto la parte dello script, grazie per il vostro prezioso aiuto.





    <%
    'FUNZIONE PER LA VISUALIZZAZIONE DEGLI ARTICOLI CON ID DIVERSO DA QUELLI CORRELATI ALL'ARTICOLO PASSATO
    function separ(testo,carattere)
    dim separati
    separati = split(testo, carattere)
    k=1
    for i=0 to ubound(separati)
    sql_ARTICOLO_S = "select * from ARTICOLI WHERE ID_ARTICOLO=" & separati(i) & " order by TITOLO"
    Set rds_ARTICOLO_S = Server.CreateObject("ADODB.Recordset")
    rds_ARTICOLO_S.Open sql_ARTICOLO_S, conn ,3,3
    if rds_ARTICOLI.fields("ID_ARTICOLO")=rds_ARTICOLO_S. fields("ID_ARTICOLO") then k=2
    rds_ARTICOLO_S.Close
    set rds_ARTICOLO_S = Nothing
    next
    if k=1 then response.write "<OPTION value=" & rds_ARTICOLI.fields("ID_ARTICOLO") & ">" & rds_ARTICOLI.fields("TITOLO") & "</OPTION>"
    end function
    %>


    <%
    'INIZIO DEL CICLO ITERATIVO PER MOSTRARE A VIDEO GLI ARTICOLI NON ANCORA CORRELATI
    do while not(rds_ARTICOLI.eof)
    if CORRELATI<>"" then
    testo=CORRELATI
    carattere=","
    call separ(testo,carattere)
    else
    response.write "<OPTION value=" & rds_ARTICOLI.fields("ID_ARTICOLO") & ">" & rds_ARTICOLI.fields("TITOLO") & "</OPTION>
    "
    end if
    rds_ARTICOLI.movenext
    loop
    %>





    L'ERRORE E' SEGNALATO ALLA LINEA:
    rds_ARTICOLO_S.Open sql_ARTICOLO_S, conn ,3,3

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    ....
    rds_ARTICOLO_S.Close 
    set rds_ARTICOLO_S = Nothing 
    next 
    if k=1 then response.write "<OPTION value=" & rds_ARTICOLI .fields("ID_ARTICOLO") & ">" & rds_ARTICOLI .fields("TITOLO") & "</OPTION>" 
    .....
    Non puoi chiudere il recordset e poi tentare di accedere allo stesso successivamente (te l'ho segnato in rosso).
    Anzi ora che vedo meglio non capisco di recordset parli.
    In quello script usi due RS ma ne apri e chiudi uno solo, l'altro?

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    89
    Allora se chiudo il recordset (rds_ARTICOLO_S)
    rds_ARTICOLO_S.Close
    set rds_ARTICOLO_S = Nothing
    mi fa eseguire solo 16 cicli e mi da l'errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80004005'

    [Microsoft][Driver ODBC Microsoft Access] Oggetto non valido o non impostato.

    correlati.asp, line 73

    Mentre se non chiudo il recordset (rds_ARTICOLO_S) mi da l'errore:

    Microsoft OLE DB Provider for ODBC Drivers error '8007000e'

    [Microsoft][Driver ODBC Microsoft Access] Impossibile aprire altre tabelle.

    correlati.asp, line 73

    dopo circa 9 cicli....

    perfavore potete consigliarmi come risolvere questo problema, facendo in modo tale che posso eseguire infinite volte il ciclo, o almeno 100 volte...


    GRAZIE A TUTTI,
    MARCO

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.