Questo codice:
funziona benissimo, senza errori. Però ho un avviso:codice:'dimensiono FUORI dal Try/Catch per disporne nel blocco Finally 'setto a nothing per non avere avviso di variabile con valore Null Dim dt As DataTable = Nothing Dim DBconn As OleDbConnection = Nothing Dim da As OleDbDataAdapter = Nothing Dim ds As DataSet = Nothing Dim DBcommand As OleDbCommandBuilder = Nothing Try DBconn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Path) DBconn.Open() da = New OleDbDataAdapter("Select * From " & Tabella, DBconn) DBcommand = New OleDbCommandBuilder(da) ds = New DataSet da.FillSchema(ds, SchemaType.Source, Tabella) da.MissingSchemaAction = MissingSchemaAction.AddWithKey da.Fill(ds, Tabella) dt = New DataTable dt = ds.Tables(Tabella) Dim FoundRow As DataRow = Nothing '............................................... 'ricerco e gestisco i dati '.............................................. Catch ex As Exception Debug.Print("Error.: " & ex.ToString) Finally DBconn.Close() dt.Dispose() da.Dispose() ds.Dispose() DBcommand.Dispose() End Try
CA2000 : Microsoft.Reliability : Nel metodo 'FrmMain.LeggeDB()' chiamare System.IDisposable.Dispose sull'oggetto 'dt' prima che tutti i relativi riferimenti siano esterni all'ambito.
Eppure io ho ben messo dt.Dispose() nel blocco Finally, che viene letto COMUNQUE.![]()
Nota:
- l' oggetto dt è l' unico che genera l' avviso
- ho provato a cambiare l' ordine dei membri del blocco Finally ma non cambia nulla...
Any idea?

Rispondi quotando