martedì 10 febbraio 2009

Ado.Net - utilizzo del metodo find per trovare un record

Il seguente code snippet, illustra l'utilizzo del metodo find, della classe datatable, per trovare un determinato record. Va ricordato che tale metodo, si utilizza, solo nel caso che la colonna abbia valori univoci e non dupplicati.


L'esempio qui proposto è per il linguaggio di programmazione VB.Net e C#


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)


'solo per valori univoci. Altrimenti errore

DttDati.PrimaryKey = New DataColumn() {DttDati.Columns("Nome")}

'rilevo i dati

Dim riga As DataRow = DttDati.Rows.Find("emanuele")

If riga IsNot Nothing Then

MessageBox.Show("Record esistente")

Else

MessageBox.Show("Nessun record")End If


Catch ex As ExceptionMessageBox.Show("Errore:" & ex.Message)


End Try


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);


//solo per valori univoci. Altrimenti errore

DttDati.PrimaryKey = new DataColumn[]{DttDati.Columns["Nome"]};

//rilevo i dati

DataRow riga = DttDati.Rows.Find("emanuele");if (riga != null)

{

MessageBox.Show("Record esistente");

}


else


{

MessageBox.Show("Nessun record");

}






}

catch (Exception ex)

{

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

}

Nessun commento: