Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344

    Connessio a database Access e chiusura

    Solitamente nelle mie pagine apro la connessione al db, leggo i dati, e chiudo il db.

    Ho notato che però se anzichè un SELECT utilizzo un INSERT INTO o UPDATE quando vado a fare la chiusura del db mi ritorna che la connessione al db è già chiusa.

    Come mai? le istruzioni INSERT INTO o UPDATE chiudono già la connessione al db?

  2. #2
    ma hai fatto close?
    ..:: GSFLASH ::..
    HTTP://WWW.GSFLASH.IT
    MCTS - ACP - OCP - ECDL
    Ubuntu 7.10/OpenSuse 10.3/Vista Premium/MacOSX Leopard
    My authentic japanese name is 薗田Sonoda (garden field) 大河 Taiga (big river)

  3. #3
    ti darà errore se chiudi il recordset, non la connessione

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Apro così

    <%

    'Connessione al database
    connectionString="Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source="&Server.MapPath("/mdb-database/database.mdb") & ";Persist Security Info = False"

    'Apro la connessione al database
    Set connessione = Server.CreateObject("ADODB.Connection")
    connessione.Open connectionString

    %>

    Inserisco i dati così

    query="INSERT INTO Clienti (Ragione_Sociale_Cliente) VALUES ('"&Ragione_Sociale&"')"
    Set rs = connessione.execute(query)


    E chiudo così

    <%

    '--Chiusura del database e pulizia variabili--'

    rs.close
    set rs = nothing
    connessione.close
    set connessione = nothing

    %>

    Come già detto se invece di un INSERT INTO utilizzo un SELECT l'errore non c'è.

  5. #5
    e te lo ridico. ti darà errore sulla rs.close, non sulla connessione.close.

    TOGLI la rs.close, visto che NON c'è una corrispondente rs.open!


  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Ok quello che dici è corretto.

    Ti faccio un'altra domanda allora. Perchè invece quando faccio così

    'Recupero le informazioni dal database, le metto nell'array e chiudo la connessione
    query="SELECT * FROM Clienti WHERE ID_Cliente = 5"
    Set rs = connessione.execute(query)
    if not rs.eof then
    arr = rs.GetRows()
    max = Ubound(arr,2)
    else
    max = 0
    end if

    anche qui non ho un rs.open eppure devo chiudere con rs.close

  7. #7
    la SELECT ti restituisce un recordset? quindi è implicitamente aperto. negli altri casi, no recordset, no party!

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    perfetto adesso è più chiaro...
    grazie

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.