sabato 14 febbraio 2009

Ado.Net - Filtrare i dati di un dataview (VB.Net e C#)

L'oggetto datatable, ha una proprietà chiamata defaultView, nella quale contiene un oggetto di tipo dataview, tale oggetto ha una proprietà (RowFilter) per effettuare il filtro dei dati, ossia effettuare una selezione dei dati, in base a dei paramenti.


Il frammento di codice qui di seguito, illustra, come utilizzare la proprietà RowFilter, per estrapolare tutti quei dati, nel cui campo Nome è presente il valore Emanuele.


VB.Net


Dim con As String = "Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"


Dim Sql As String = "Select * from Dati "


Try

'

Dim DtaDati As New SqlDataAdapter(Sql, con)

Dim DttDati As New DataTable("Dati")


DtaDati.Fill(DttDati)


'filtro i dati


DttDati.DefaultView.RowFilter = "Nome = 'Emanuele'"


'rilevo il dataview

Dim dtvDati As DataView = DttDati.DefaultView

If dtvDati.Count < 1 Then

MessageBox.Show("Nessun record")

Else

MessageBox.Show("Record esistente")End If


Catch ex As Exception

MessageBox.Show("Errore:" & ex.Message)


C#

string con = "Data Source=(local);Integrated Security=SSPI; Initial Catalog=test";

String Sql = "Select * from Dati where id = 1";


try


{

SqlDataAdapter DtaDati = new SqlDataAdapter(Sql, con);DataTable DttDati = new DataTable("Dati");

DtaDati.Fill(DttDati);



//Filtro i dati

DttDati.DefaultView.RowFilter = "Nome ='Emanuele'";

//rilevo il dataview

DataView dtvDati = DttDati.DefaultView;if (dtvDati.Count < 1)

{

MessageBox.Show("Nessun record");

}


else


{

MessageBox.Show("Record esistente");

}


}

catch (Exception ex)

{

MessageBox.Show("Errore: " + ex.Message);

}

Nessun commento: