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
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
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![]()
![]()
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
Se è solo per questo e non hai da fare altre operazioni puoi utilizzare questo codice:
Se Utilizzi un Dataset:
Altrimenti puoi passare una Stringa SQL come comando e successivamente iterare i risultati o con l'Adapter oppure con il DataReadercodice:Ds.Tables("Libri").Select("IdGenerale=" & Generale & ")
Ciao Ciaocodice:Dim cmd as New SqlCommand("SELECT * FROM Libri WHERE IdGenerale=" & Generale & ")![]()
Innanzitutto grazie.
Upoi farmi un esempio su come si fa a 'iterare i risultati con il DataAdapter'?
Grazie e buona serata.
Daniele
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
Il chiamante:
Il codice chiamato: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)
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![]()
Grazie infinite per l'illuminante risposta.
Buona giornata.
Daniele