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

    Problema Connessioni Aperte

    Ciao,
    ho provato a cercare nel forum ma non mi pare di aver trovato la risposta se esiste già mi scuso e vi prego di lincarli il link.
    Cmq io ho una connessione al database access, tramite while mostro tutti i dati, ma dentro questo while sono costretto a eseguire un'altra sql per recuperare delle informazioni, ma non mi vine permesso perchè la connessione è già aperta. Se chiudo la connessione perdo i risultati dell'sql e quindi non posso continuaziore.

    In sostanza
    Set Db = server.createobject("ADODB.Connection")
    Db.open application("ODBC")
    Set Rs = server.createobject("ADODB.Recordset")
    Sql = "...."
    Rs.open Sql,Db
    while
    ....
    ....
    Devo eseguire un'altra Sql, ma mi dice che la connessione è gia aperta.
    fine while

    Come posso risolvere?
    Ringrazio Anticipatamente.

  2. #2
    Perchè non posti la parte di codice che ti da problemi, cioè quella dopo il while

  3. #3
    Il problema è dentro il while.
    Non ho postato tutto perchè è lungo. Posto solo le righe interessati se va bene.

    Set Db = server.createobject("ADODB.Connection")
    Db.open application("ODBC")
    Set Rs = server.createobject("ADODB.Recordset")
    Sql = "...."
    Rs.open Sql,Db
    while
    ....
    ....

    idOperatore = Rs("id_operatore")
    'Eseguo la nuova sql
    sqlRec = "select * from tabella where id = idOperatore"
    Rs.open SqlRec, Db

    in questo punto mi restituisce l'errore "L'operazione non è consentita se l'oggetto è

    Rs.movenext

    fine while

    Ho anche provato una cosa di questo tipo Ma il problema rimane.

    Set DbRec = server.createobject("ADODB.Connection")
    DbRecopen application("ODBC")
    Set RsRec = server.createobject("ADODB.Recordset")

    Set Db = server.createobject("ADODB.Connection")
    Db.open application("ODBC")
    Set Rs = server.createobject("ADODB.Recordset")
    Sql = "...."
    Rs.open Sql,Db

    while
    ....
    ....
    idOperatore = Rs("id_operatore")
    'Eseguo la nuova sql
    sqlRec = "select * from tabella where id = idOperatore"
    RsRec.open SqlRec, DbRec

    Rs.movenext

    fine while

  4. #4
    Posta tutto il codice della tua pagina utilizzando i tag code
    Codice PHP:
    dfgdfg 

  5. #5
    se il db è lo stesso, NON serve aprire un'altra connessione, ma piuttosto un diverso Recordset

  6. #6
    e così come va?


    Set Db = server.createobject("ADODB.Connection")
    Db.open application("ODBC")
    Set Rs = server.createobject("ADODB.Recordset")
    Set Rs1 = server.createobject("ADODB.Recordset")
    Sql = "...."
    Rs.open Sql,Db
    while
    ....
    ....

    idOperatore = Rs("id_operatore")
    'Eseguo la nuova sql
    sqlRec = "select * from tabella where id = idOperatore"
    Rs1.open SqlRec, Db

    ....

    Rs1.movenext

    fine while



  7. #7
    Codice PHP:
    Set Db server.createobject("ADODB.Connection")
    Db.open application("ODBC")
    Set Rs server.createobject("ADODB.Recordset")
    Sql "Select * from Tabella WHERE CodServ = '" Num "' "
    Rs.open Sql,Db
    do while ( not Rs.EOF )
            
    Stampo diversi valori utilizzando il comando o faccio alcuni calcoli.
            
    Response.write(Rs("cod"))
            if(
    Rs("idOperazioni") <> ""then
                Sql 
    "Select * from Tabella WHERE id = " Rs("idOperazioni") & ""

                    
    Il problema è quacome detto prima dice che l'operazione non è consentita se l'oggetto è aperto"

                Rs.open Sql,Db
                stato = Rs("
    stato")
            end if
            Rs.movenext
    loop 
    Oppure ho cercato di far cosi, ma non funziona

    Codice PHP:
    Set DbRec server.createobject("ADODB.Connection")
    DbRec.open application("ODBC")
    Set RsRec server.createobject("ADODB.Recordset")

    Set Db server.createobject("ADODB.Connection")
    Db.open application("ODBC")
    Set Rs server.createobject("ADODB.Recordset")
    Sql "Select * from Tabella WHERE CodServ = '" Num "' "
    Rs.open Sql,Db
    do while ( not Rs.EOF )
            
    Stampo diversi valori utilizzando il comando o faccio alcuni calcoli.
            
    Response.write(Rs("cod"))
            if(
    Rs("idOperazioni") <> ""then
                SqlRec 
    "Select * from Tabella WHERE id = " Rs("idOperazioni") & ""
                    'Il problema è qua. come detto prima dice che l'
    operazione non è consentita se l'oggetto è aperto"
                RsRec.open SqlRec,DbRec
                stato = RsRec("stato")
            end if
            Rs.movenext
    loop 

  8. #8
    funziona come ti ho indicato?

  9. #9
    Originariamente inviato da Grambo
    e così come va?


    Set Db = server.createobject("ADODB.Connection")
    Db.open application("ODBC")
    Set Rs = server.createobject("ADODB.Recordset")
    Set Rs1 = server.createobject("ADODB.Recordset")
    Sql = "...."
    Rs.open Sql,Db
    while
    ....
    ....

    idOperatore = Rs("id_operatore")
    'Eseguo la nuova sql
    sqlRec = "select * from tabella where id = idOperatore"
    Rs1.open SqlRec, Db

    ....

    Rs1.movenext

    fine while


    Ho Provato ma mi da cmq l'errore, salvo io non sbagli qualcosa, però mi sembra strano che non si possa fare.

  10. #10
    Ok adesso si connette il problema che con qualunque campo io cerchi di recuperare con Rs1 mi dice che non esiste.
    Il campo sono sicuro che esiste e la query non genera un insieme vuoto.

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.