+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Assenza improvvisa della connessione di rete

  1. #1
    Fedeciprova non è in linea Scolaretto
    Luogo
    Mantova
    Post
    82

    Assenza improvvisa della connessione di rete

    Buongiorno a tutti
    a volte mi trovo a lavorare in posti dove la copertura internet con chiavetta in 4G non è delle migliori…
    Con il codice seguente inserisco dei dati in un datatable e poi verifico se ci sono record che soddisfano la mia richiesta.
    codice:
     Public Sub SqlDownloadData(ByVal StringConnection As String, ByVal StringSql As String, ByRef Tabella As DataTable)
                Try
                    Dim da As New OleDbDataAdapter
                    da = New OleDbDataAdapter(StringSql, StringConnection)
                    da.Fill(Tabella)
                Catch ex As Exception
                    MessageBox.Show(ex.ToString, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
        End Sub
    Il problema è che se si interrompe la connessione, mi arriva il messaggio dell'eccezione e poi ritorna un datatable senza record. A questo punto non so come fare a distinguere tra un datatable vuoto perché non ci sono record desiderati oppure perché la connessione si è interrotta.

    Praticamente non so come costruire una funzione che mi ritorni il datatable solo se non ci sono stati errori.

    Grazie

  2. #2
    Fedeciprova non è in linea Scolaretto
    Luogo
    Mantova
    Post
    82
    Per ora ho risolto trasformando la sub in function con return booleano

    codice:
     Public Function DownloadData(ByVal StringConnection As String, ByVal StringSql As String, ByRef Tabella As DataTable) As Boolean
                Try
                    Dim da As New OleDbDataAdapter
                    da = New OleDbDataAdapter(StringSql, StringConnection)
                    da.Fill(Tabella)
                    Return True
                Catch ex As Exception
                    MessageBox.Show(ex.ToString, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
                    Return False
                End Try
        End Function
    Nella parte del programma dove lancio questa function prendo in considerazione il datatable solo se ritorna true, in caso contrario lancio un messaggio di mancanza rete con la possibilità di ritentare.

    Non sono sicuro di avere fatto in modo corretto, per cui accetto qualsiasi indicazione in merito.

    Grazie

  3. #3
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Luogo
    Prato
    Post
    2,683
    no...ci sono le funzioni delle transazioni che se qualcosa non và a buon fine fanno il roll back..devi documentarti su questo anche se io mi riferisco per il remoto.
    Sono stato nella terra del terrore e dei Vampiri...la transilvania? No!..in Banca.
    A Lupara?Min***a...Tecnologia Sicula è!

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi