Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 31
  1. #1

    Problema inspiegabile su apertura connessione con database

    Sono giorni che stò impazzendo per risolvere questo problema:
    Io ho una pagina che esegue quattro query in questo modo:

    query1=......
    query2=....
    query3=.....
    query4=.....
    inizio con l'aprire la query1 così

    catRecSet.open query1
    ......................
    catRecSe.Close

    catRecSet.open query2
    .....................
    catRecSet.Close

    e così via fino alla quarta.

    Premetto che io uso Sql 2005 express
    Inizialmente il tutto funzionava correttamente poi sono andato a cambiare la quarta query modificandola con una più complessa.
    L'originale era questa:

    query4="SELECT codice, descrizione, desc_tecnica, foto, marca, prezzo, prezzo_promo, promo, message_promo FROM prodotti WHERE sottocategoria='" & sottCat & "' AND elimina = 'FALSE' ORDER BY prezzo_promo, codice"

    quella nuova è questa:

    query4="declare @today datetime
    set @today = dateadd(yy,0,getdate())
    SELECT prodotti.codice, prodotti.DESCrizione, LI.prezzoList, prodotti.desc_tecnica, prodotti.foto, prodotti.marca, prodotti.prezzo, prodotti.prezzo_promo, prodotti.promo, prodotti.message_promo
    FROM prodotti
    INNER JOIN listini AS LI on prodotti.id= li.idprodottI
    WHERE sottocategoria='" & sottCat & "' AND elimina='false'
    AND (@today BETWEEN LI.DATAINIZIO AND LI.DATAFINE)
    AND LI.DATAFINE = (SELECT MIN(LISTINO.DATAFINE)
    FROM lISTINI AS LISTINO
    WHERE LISTINO.idprodotti = LI.idprodotti
    AND @today BETWEEN LISTINO.DATAINIZIO AND LISTINO.DATAFINE )
    AND LI.DATAINIZIO = (SELECT MAX(LISTINO.DATAINIZIO)
    FROM LIstini AS LISTINO
    WHERE LISTINO.IDPRODOTTI =LI.IDPRODOTTI
    AND LISTINO.DATAFINE = LI.DATAFINE
    AND @today BETWEEN LISTINO.DATAINIZIO AND LISTINO.DATAFINE )
    ORDER BY prezzo, codice"

    Questa l'ho provata generando la query direttamente sul Db sql e funziona correttamente. Infatti il problema non si trova su questa query ma la pagina mi restituisce questo errore:

    Tipo di errore:
    ADODB.Recordset (0x800A0E78)
    L'operazione non è consentita se l'oggetto è chiuso.
    /euronics/prodotti.asp, line 256


    Sono andato a controllare la linea 256 della pagina prodotti.asp ed ho trovato il ciclo che mi estrae gli articoli:

    WHILE NOT catRecSet.EOF

    Che significa? e perchè mi segnala che l'oggetto è chiuso solo con questa query? invece con quella precedente no? Io ho cambiato solo la query, i cicli e le altre cose sono rimaste invariate!!!
    :master:

  2. #2
    forse la query non ti restituisce nulla... controlla .eof prima di iniziare il ciclo do

  3. #3
    scusa l'ignoranza ma come faccio a controllare eof?

  4. #4
    Per caso esegui una insert o update tra l'apertura del recordset e il ciclo?
    Siti web Gallery: creazione siti web firenze

  5. #5
    Originariamente inviato da simone75
    scusa l'ignoranza ma come faccio a controllare eof?
    IF oggetto_recordset.EOF THEN

    that easy!

  6. #6

    Re: Problema inspiegabile su apertura connessione con database

    Originariamente inviato da simone75
    ............

    Questa l'ho provata generando la query direttamente sul Db sql e funziona correttamente. Infatti il problema non si trova su questa query ma la pagina mi restituisce questo errore:

    Tipo di errore:
    ADODB.Recordset (0x800A0E78)
    L'operazione non è consentita se l'oggetto è chiuso.
    /euronics/prodotti.asp, line 256


    Sono andato a controllare la linea 256 della pagina prodotti.asp ed ho trovato il ciclo che mi estrae gli articoli:

    WHILE NOT catRecSet.EOF

    Che significa? e perchè mi segnala che l'oggetto è chiuso solo con questa query? invece con quella precedente no? Io ho cambiato solo la query, i cicli e le altre cose sono rimaste invariate!!!
    :master:
    Ciao, usa

    codice:
    set catRecSet=catRecSet.NextRecordset
    per vedere se, casomai, la query ti ha generato qualche altro recordset

    HTH

  7. #7
    x OPTIME

    scusa ma non ho capito dove devo inserire il controllo .eof
    io ho questo:

    catRecSet.open query
    WHILE NOT catRecSet.EOF
    ....
    qui vengono estratti e ordinati i record
    ....
    catRecSet.MoveNext
    WEND

    catRecSet.Close
    objConn.Close
    catRecSet=null
    objConn=null

    dove devo inserire ilcontrollo .eof??

  8. #8
    .... rs.open ...

    if rs.eof then
    ' abbello, non ce sta gnente...
    else
    ... quello che già fai
    end if


  9. #9
    Anche con questo controllo mi dà sempre lo stesso errore cioè che L'operazione non è consentita se l'oggetto è chiuso!!

    Stavo leggendo anche la risposta di sspintux, è possibile che la query mi genera un altro recordset al proprio interno???? Bho non ci stò capendo niente!!!

    ma, in teoria, se funziona sul DB sql non dovrebbe funzionare anche all'interno della pagina asp????

  10. #10
    Originariamente inviato da simone75
    Anche con questo controllo mi dà sempre lo stesso errore cioè che L'operazione non è consentita se l'oggetto è chiuso!!

    Stavo leggendo anche la risposta di sspintux, è possibile che la query mi genera un altro recordset al proprio interno???? Bho non ci stò capendo niente!!!

    ma, in teoria, se funziona sul DB sql non dovrebbe funzionare anche all'interno della pagina asp????
    beh , come si dice, tentar non nuoce...
    ed inoltre non mi sembra che la prova richieda molto tempo

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.