PDA

View Full Version : [C#] Visualizzare risultato query (Window Forms)


astorcas
25-02-2008, 14:26
Ciao a tutti,
avendo una DataTable che contiene il risultato di una query, sapreste indicarmi un metodo efficace perchè questo risultato venga visualizzato in un Form?
Ad esempio una cosa simile a quando si guarda in debug il contenuto di una tabella.

Grazie mille!

RaouL_BennetH
26-02-2008, 14:09
Ciao a tutti,
avendo una DataTable che contiene il risultato di una query, sapreste indicarmi un metodo efficace perchè questo risultato venga visualizzato in un Form?
Ad esempio una cosa simile a quando si guarda in debug il contenuto di una tabella.

Grazie mille!

Ci sono diversi modi per farlo e tutto dipende da quanti risultati tiri fuori con una query. Uno dei modi più utilizzati è di visualizzare i risultati all'interno di un oggetto datagridview. L'utilizzo è banale:


//userò gli oggetti messi a disposizione dal MySql Connector, ma sono uguali a quelli di SQL

public void ShowData()
{
//si suppone che tu abbia già aperto una connessione con il db e che sia attiva
string select = "SELECT * FROM myTable";
MySqlDataAdatper adapter = new MySqlDataAdapter(select, tuaConnessione);
DataTable dt = new DataTable();
adapter.Fill(dt);
dataGridView.DataSource = dt;
}


Oppure, puoi utilizzare un oggetto di tipo binding navigator da abbinare al datagridview che ti permette di tenere traccia di quanti record ottieni e di effettuare comodamente operazioni di modifica al db:








public void ShowData()
{
//si suppone che tu abbia già aperto una connessione con il db e che sia attiva
string select = "SELECT * FROM myTable";
MySqlDataAdatper adapter = new MySqlDataAdapter(select, tuaConnessione);
DataTable dt = new DataTable();
adapter.Fill(dt);
BindingSource bs = new BindingSource();
bs.DataSource = dt;
bindingNavigator.BindingSource = bs;
dataGridView.DataSource = bs;
}

astorcas
26-02-2008, 14:33
Avevo risolto col datagridview.... ma devo dire che il binding navigator è più pratico! Ora provo ad usarlo.

Grazie Mille per l'aiuto!