Eliminare gruppo di dati

venerdì 07 agosto 2009 - 22.36

Peppino Profilo | Junior Member

Ciao a tutti
Stò creando una piccola applicazione di fatturazione (esempio classico per cercare di imparare) inizialmente con Visual Basic 2005 successivamente con Visual Studio 2008, con ADO.NET quindi con i DataSet e DataGridView e con DataBase Access con relative Tabelle (Società, Cliente, DatiFattura e DettagliFattura). Funziona tutto (perlomeno per quello riuscito a fare fino a questo momento). La domanda è questa: come posso fare ad eliminare una "x" fattura con i relativi dettagli di un "x" cliente cliccando sù un bottone, senza doverli cancellare uno alla volta?. Se bisogna creare una query, da dove crearla dal DataSet o DataAdapter e in che modo? oppure bisogna creare qualche riga di codice? non sò aprendo il database e creare un ciclo While? (che comunque non sò come si fà). Se qualcuno vorrebbe darmi un aiutino magari con qualche esempio o indicarmi dove cercare. Ringrazio anticipatamente come sempre. Saluto tutti.
Ciao Peppino.

freeteo Profilo | Guru

Ciao, perdona il ritardo nella risposta, agosto è mese dove andiamo in ferie anche noi

non ho capito se tu stai parlando di fare qualcosa relativo al report (non vedere più quelle righe ma lasciarle nel database), o è relativo all'applicazione (quindi la cancellazione delle righe sul database)...
Nel primo caso ti basta passare qualche parametro al report dicendogli cosa visualizzare, nel secondo caso bisogna capire come hai impostato l'accesso ai dati, e a mio avviso ti conviene usare una libreria dedicata all'accesso al database e lasciare stare DataSet/DataTable...

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

Peppino Profilo | Junior Member

Ciao
Sono io che chiedo scusa se anche in agosto rompo...., comunque grazie. Ho postato lo stesso argomento sù SQL Server 2000/2005, Express, Access, MySql, Oracle pensando che li fosse più approprioato non sò. Mi ha risposto Lorenzo indicandomi una strada da cercare, ma purtroppo essendo un principiante non ho capito nulla e di conseguenza non ho risolto il mio problema. Purtroppo per imparare "io credo" servono piccoli esempi e sù di essi cercare di capire per poi magari ampliarli. Dall'altra parte ho inserito due righe di codice per come visualizzo i dati e con lo stesso metodo vorrei cancellarli. Quindi se vuoi dare uno sguardo e rispondermi dall'altra parte "cosi questo magari lo chiudiamo oppure mi rispondi su questo e chiudiamo l'altro" e puoi darmi un aiutino magari con un piccolo esempio. Ringrazio come sempre.
Saluto, ciao, Peppino.

freeteo Profilo | Guru

Ciao,
non ho trovato il thread che hai citato nella stanza Sql, puoi postare qui il link e io direi di continuare poi in quello...

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

Peppino Profilo | Junior Member

Ciao
Scusa ma sono mancato ed ho letto solo adesso la posta. Non è un link, sono due righe di codice che penso possono bastare per far capire il modo di come vengono visualizzati i dati.
----------------------------
Private Sub frmDettagliFattura_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.DettagliFatturaTableAdapter.FillByIDFattura(Me.CantieriDataSet.DettagliFattura, frmFattureCliente.FattureClientiDataGridView1.CurrentRow.Cells("IDFattura").Value)

End Sub
--------------------------
Il mio intendo è questo: all'apertura del form una volta popolato il DatagridView tramite query "FilByIDFattura" in base all'"IDFattura", cliccando su un bottone vorrei avere la possibilità di poterli eliminare, ma tutti in una volta. Invece con il bottone del BindingNavigator posso eliminarli uno alla volta. Penso che dovrebbe essere una cosa banale, ma io non ho proprio idea. Ringrazio anticipatamente per la disponibilità e l'aiuto qualunque esso sia.
Saluto, ciao, Peppino.

freeteo Profilo | Guru

> Non è>un link, sono due righe di codice che penso possono bastare perù
intendevo il link al post che hai messo sulla stanza Sql, dove ne avevi già parlato con Lorenzo


>cliccando su un bottone vorrei avere la possibilità di poterli
>eliminare, ma tutti in una volta. Invece con il bottone del BindingNavigator
>posso eliminarli uno alla volta.
intendi tutti quelli selezionati nella griglia?
puoi solo fare un ciclo, dove richiami il metodo "Delete" del tuo dataAdapter con la riga che stai ciclando, qualcosa tipo:
foreach(DataGridRow riga in griglia.SelectedRows) { TuoOggetto obj = riga.DataBoundItem as TuoOggetto; adapter.Delete(obj); }
o qualcosa del genere...

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

Peppino Profilo | Junior Member

Ciao.
Ho risolto il problema creando una query.
Comunque grazie, grazie a tutti.
Saluto. Ciao. Peppino.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5