Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Aprire più tabelle!

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    89

    Aprire più tabelle!

    Ho un problema davvero difficile da risolvere, spero che qualcuno esperto di questo forum possa darmi un'aiuto...
    Questa è una parte dello script della pagina per correlare articoli.
    L'id degli articoli correlati viene insertito concatenato in un campo specifico del recordset.

    SCRIPT:
    codice:
     
    <% 
    '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 '<<< PROBLEMA 
    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 
    %>

    Tutto funziona perfettamente solo che:

    - 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

    - 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...(per esempio estraendo tutti i dati e poi usarli dopo aver chiuso il database!!!)....spero ci sia una soluzione.

    GRAZIE A TUTTI,
    MARCO

  2. #2
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Secondo me è sbagliata l'impostazione iniziale...

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.