Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202

    [VB.NET] Memorizzare i dati dei record restituiti da OleDbDataReader

    ciao a tutti,

    Vorrei un consiglio da voi.
    Sto cercando di creare una classe che si occupi di fare la connessione e tutte le sql.
    Mi sono fermato al metodo fetch.
    Secondo voi dopo aver eseguito la mia query cos'è la miglior cosa che possa restituire, un array?
    In php facevo così, ma in vb.net preferirei avere un vostro parere.

    Ciao
    Paolo
    Che mestiere difficile.....essere da soli ancora di più

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    Secondo me la miglior cosa che può restituire è una DataTable

    Sergio

  3. #3
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    ok sono andato un pochettino a guardare cosa diavolo fosse.
    percui suggerisci di ciclare tutto il mio reader e trasformarlo in dt e infine restituire quello corretto?

    mi pare figo come oggetto e molto comodo, oggetti del genere in php con caccio che ci sono.
    Che mestiere difficile.....essere da soli ancora di più

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    Tra l'altro non serve nemmeno ciclare sul reader, c'è un comando unico che legge dal database e ti popola la DataTable in una sola riga di comando.

    Ad esempio, supponiamo che DB sia un oggetto SqlConnection e che sia aperto sul database corretto, puoi fare più o meno una funzione così:
    codice:
        Public Function SelectTabella(ByVal Query As String) As DataTable
    
            Dim Da = New SqlClient.SqlDataAdapter(Query, DB)
            Dim Dt As DataTable = New DataTable
            Da.Fill(Dt)
    
            Return Dt
    
        End Function
    All'uscita della function (che ovviamente ho scritto al volo, è da testare e modificare) troverai una DataTable con tutti i record selezionati dalla query relativa

    Sergio

  5. #5
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    ottimo funziona alla perfezione anche se ho un db access.
    Fantastico grazie mille
    Che mestiere difficile.....essere da soli ancora di più

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Quote Originariamente inviata da Fractals87 Visualizza il messaggio
    percui suggerisci di ciclare tutto il mio reader e trasformarlo in dt e infine restituire quello corretto?
    Se la tua esigenza è quella di scandire i record per fare qualche tipo di elaborazione, puoi usare il metodo Read di OleDbDataReader per leggere ogni singolo record, uno alla volta, partendo dal primo e procedendo fino a esaurimento; questo presuppone che tu non abbia bisogno di memorizzare i dati del record, o che tu abbia una cache "alternativa" dove memorizzarli.

    Se invece vuoi ottenere una struttura in memoria che contenga i dati dei record, non hai bisogno di creare manualmente una DataTable: c'è la classe OleDbDataAdapter preposta a questo scopo.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    il mio intendo è di costruire una classe che si occupa di dialogare con il db e che restituisca un formato "standard" a tutti i miei oggetti ("user","interventi" ecc ecc) che mi sto costruendo...
    Mi pare di capire che il DataTable sia la soluzione corretta, o almeno credo.
    Che mestiere difficile.....essere da soli ancora di più

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Quote Originariamente inviata da Fractals87 Visualizza il messaggio
    il mio intendo è di costruire una classe che si occupa di dialogare con il db e che restituisca un formato "standard" a tutti i miei oggetti ("user","interventi" ecc ecc) che mi sto costruendo...
    Mi pare di capire che il DataTable sia la soluzione corretta, o almeno credo.
    Che versione del .NET Framework e di Visual Studio stai utilizzando al momento?

    Te lo chiedo perché esistono già dei tool che fanno ciò che chiedi, senza che tu debba codificare questa logica "reinventando la ruota", per così dire: ad esempio, cerca Entity Framework.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.