CONNESSIONE DATABASE ACCESS

di il
6 risposte

CONNESSIONE DATABASE ACCESS

Salve a tutti..!!
Spero di scrivere nel posto giusto....
uso visual studio 2019.
Avrei un problema con un accesso ai records di un DB access mi spiego:

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
cn = New ADODB.Connection
rs = New ADODB.Recordset
rs.Open("SELECT * FROM GARE_T WHERE CODICE like", cn, 3, 3)

'SCRIVO DATI

rs.Update()
rs.Close()
cn = Nothing
rs = Nothing

eseguo una select alla tabella del DB che si trova in rete alla quale accedono piu' computer per inserire dati nel DB ed è tutto Ok, solo che appena lancio la procedura nella cartella del DB si genera un file uguale con l'icona lucchetto che anche quando finisco la scrittura dei dati non scompare, di conseguenza riprovando l'accesso il DB risulta bloccato.
Eppure chiudo la connessione 'rs.close' e annullo tutto 'cn=nothing'e ' rs=nothing'.
Spero di aver esposto correttamente il problema,qualcuno sa darmi qualche dritta..??
Grazie a tutti anticipatamente.

6 Risposte

  • Re: CONNESSIONE DATABASE ACCESS

    Ciao,
    molto probabilmente non rilasci le risorse, dovresti usare il dispose.
    In questo sito, trovi una serie di articoli sull'uso del database Access, qui https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_net-la-gestione-del-database-microsoft-access-tramite-vbnet-e-c_1679.aspx la terza parte.

    Buona programmazione.
  • Re: CONNESSIONE DATABASE ACCESS

    Ciao
    Grazie per la tua disponibilità..!!
    Ho dato un’occhiata ma non ho capito come risolvere il mio problema essendo io alle prime esperienze di programmazione.
    Ma intendi che devo scrivere rs.dispose anziché rs.close..??
    Grazie ancora..!!
  • Re: CONNESSIONE DATABASE ACCESS

    visualrate ha scritto:


    Ma intendi che devo scrivere rs.dispose anziché rs.close..??
    perché non ci provi ?
  • Re: CONNESSIONE DATABASE ACCESS

    Ciao a tutti..!!
    Certo ci provo e vi terrò aggiornati..!!
    Grazie ancora..!!
  • Re: CONNESSIONE DATABASE ACCESS

    Con VB.Net c'è ADO.Net e non si usano più gli oggetti ADODB.Connection e ADODB.Recordset
  • Re: CONNESSIONE DATABASE ACCESS

    grumpy ha scritto:


    Con VB.Net c'è ADO.Net e non si usano più gli oggetti ADODB.Connection e ADODB.Recordset
    Si hai ragione ma mi toccherebbe rivedere tutto il programma a questo punto visto che ho gia' scritto parecchio, mi metto a studiare e nel prossimo cerchero' di usareADO.NET.

    Comunque credo di aver risolto nel mio codice bisognava chiudere la connessione al db, io chiudevo solo il Recordset:
    POSTO LA SOLUZIONE NEL CASO DOVESSE SERVIRE AD ALTRI UTENTI:

    da cosi':

    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    cn = New ADODB.Connection
    rs = New ADODB.Recordset
    rs.Open("SELECT * FROM GARE_T WHERE CODICE like", cn, 3, 3)

    'SCRIVO DATI

    rs.Update()
    rs.Close()
    cn = Nothing
    rs = Nothing

    a cosi':

    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    cn = New ADODB.Connection
    rs = New ADODB.Recordset
    rs.Open("SELECT * FROM GARE_T WHERE CODICE like", cn, 3, 3)

    'SCRIVO DATI

    rs.Update()
    rs.Close()
    cn.close() <========== DA AGGIUNGERE
    cn = Nothing
    rs = Nothing

    GRAZIE DAVVERO A TUTTI..!!
Devi accedere o registrarti per scrivere nel forum
6 risposte