Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Vb.net - Filtrare Dataset

    Ciao a tutti.

    Il problema che ho da esporvi probabilmente a molti di voi risulterà banale.

    Qual'è il modo migliore per filtrare i dati da una tabella? Su questi dati recuperati poi devo fare delle modifiche.

    Grazie e buon fine settimana.

    Daniele

  2. #2
    Puoi utilizzare la funzione Select della tabella relativa oppure utilizzare il DataView con la proprietà RowFilter dipende da ciò che hai da fare. Io personalmente preferisco utilizzare il DataView


    Ciao Ciao

  3. #3
    Ciao hollynois.

    Ti spiego cosa voglio fare. Ho un database sql che contiene più tabelle. Nel mio caso specifico esiste una tabella generale chiamate 'generale' e una tabella figliachiamata 'libri'. Nella tabella generale inserisco solo il titolo e l'autore, mentre nella tabella figlio metto anche i dati specifici del libro. Chiaramente le due tabelle sono legate tra loro dal campo 'IdGenerale'.

    All'avvio del porgramma riempio entrambe le tabelle.

    La mia form - chiamata 'materiale' - di inserimento principale contiene solo i campi della tabella 'generale'. In questa form ho un tasto che, una volta premuto, mi apre la form 'libri', la quale contiene i campi della tabella 'libri'. Attualmente, quando apro questa form, mi vengono caricati tutti i dati presenti nella tabella. Io vorrei che mi visualizzasse solo il record di tale tabella con idGenerale uguale all'idGenerale della form 'materiale'.

    Tu conosci il modo migliore e più breve per realizzare questo?

    Grazie.

    Daniele

  4. #4
    Se è solo per questo e non hai da fare altre operazioni puoi utilizzare questo codice:

    Se Utilizzi un Dataset:

    codice:
    Ds.Tables("Libri").Select("IdGenerale=" & Generale & ")
    Altrimenti puoi passare una Stringa SQL come comando e successivamente iterare i risultati o con l'Adapter oppure con il DataReader

    codice:
    Dim cmd as New SqlCommand("SELECT * FROM Libri WHERE IdGenerale=" & Generale & ")
    Ciao Ciao

  5. #5
    Innanzitutto grazie.
    Upoi farmi un esempio su come si fa a 'iterare i risultati con il DataAdapter'?

    Grazie e buona serata.

    Daniele

  6. #6
    Public Sub IteraDati(cmd as SqlCommand)
    Dim dtLibri As New DataTable("Libri")
    Dim da As New DataAdapter(cmd)
    da.FillSchema(dtLibri)
    da.Fill(dtLibri)
    For each dr as DataRows In dtLibri.Rows

    End Sub

  7. #7
    Il chiamante:

    codice:
    Dim objCn As New SqlConnection("Stringa di Connessione")
    objCn.Open
    Dim cmd as New SqlCommand("SELECT * FROM Libri WHERE IdGenerale=" & Generale & ", objCn)
    IteraDati(cmd)
    Il codice chiamato:

    codice:
    Public Sub IteraDati(cmd as SqlCommand)
       Dim dtLibri As New DataTable("Libri")
       Dim da As New DataAdapter(cmd)
       'Recupera informazioni sullo schema della tabella 
       da.FillSchema(dtLibri) 
       'Riempie la tabella con i dati della Select 
       da.Fill(dtLibri)
       'Itera le righe 
       For each dr as DataRows In dtLibri.Rows
          dr.Item("NomeCampo1")
          dr.Item("NomeCampo2")
       Next
    End Sub

    Questo è tutto

    Ciao Ciao

  8. #8
    Grazie infinite per l'illuminante risposta.

    Buona giornata.

    Daniele

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.