[C# .NET] Come inserire dati da una tabella di un database dentro un DropDownList con SqlDataAdapter e un DataSet

C_Sharp1C# (si pronuncia “see sharp”) è un linguaggio di programmazione orientato agli oggetti sviluppato da Microsoft all’interno della suite di prodotti .NET (pronunciato dotnet) ovvero una piattaforma di sviluppo software che esprime una versatile tecnologia di programmazione ad oggetti. (cit. wikipedia).

In questo piccola guida inseriremo i valori della tabella del database nell’oggetto dropdownlist (che rappresenta una lista di valori) presente in una pagina aspx usando gli oggetti di C# SqlDataAdapter e un DataSet.

SqlDataAdapter rappresenta una serie di comandi e una connessione al database che sono usati per riempire il DataSet e aggiornare il database dell’SQL Server che stiamo utilizzando.

Il DataSet è una collezione di dati che comunemente rappresenta il contenuto di una singola tabella del database dove ogni colonna rappresenta il campo della tabella e ogni riga il relativo record.

Ho messo tutto il codice sull’evento del caricamento della pagina aspx:

protected void Page_Load(object sender, EventArgs e)
{

// Connessione al database
SqlConnection conndb = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;
User Instance=True");

// Apertura della connessione
conndb.Open();

/* Definizione del comando sql di lettura della tabella con solo 2 campi (Name_id),(Name) e notate nel comando stesso l'aggancio con la connessione al db*/
SqlCommand cmdSel = new SqlCommand("SELECT (Id),(Nome) from [Table1]", conndb);

// Definizione del SqlDataAdapter associato al comando
SqlDataAdapter dataadapter = new SqlDataAdapter(cmdSel);

// Definizione del DataSet che conterrà la tabella
DataSet ds = new DataSet();

// Riempimento del DataSet coni valori della tabella Table1
dataadapter.Fill(ds);

// Chiusura della connessione al db che non serve più perchè oramai i dati li ho nel DataSet
conndb.Close();

// Associo l'origine dati del DropDownList1 con la tabella del DataSet
DropDownList1.DataSource = ds.Tables[0];

// Imposto il campo dell'origine dati che fornisce il valore di ciascun elemento dell'elenco
DropDownList1.DataValueField = "Id";

// Imposta il campo dell'origine dati che fornisce il testo degli elementi dell'elenco
DropDownList1.DataTextField = "Nome";

// Riempie la lista dei dati
DropDownList1.DataBind();
}