Ciao a tutti!
Ho il seguente problema:
Ho 2 DDl dove la prima (con i nomi delle destinazioni) filtra i dati verso la seconda (con i nomi delle strutture) ovviamente sono popolate da Db (access)
Poi all'evento legato ad un button, viene salvato il tutto in un Db (sempre in access)
Solo che al momento del salvataggio, dovrebbe venir preso il valore della seconda DDl (id) ed invece viene preso il valore (id) della prima...
Le tabelle (sono in tutto 3) sono relazionate tra loro, forse è qui il mio sbaglio, la relazione?
Vi posto il codice "incriminato":
nel code behind:
1) Questo filtra i dati della prima DDl:
// *********** Inizio Comandi per la DDL delle destinazioni: *************** //
//Creo la connessione al DB
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~/App_Data/DbCataloghi.mdb"));
//Creazione del comando per il databind da usare con il DDL
OleDbCommand ddl = new OleDbCommand("SELECT * FROM destinazioni", conn);
conn.Open();
if (!IsPostBack)
{
DropDownList1.DataSource = ddl.ExecuteReader();
DropDownList1.DataBind();
}
conn.Close();
Questo mostra i dati della seconda DDl (in base al filtro della prima):
//Creazione del comando per il filtro dei dati per la scelta della struttura (filtro delle due DDL)
if (!String.IsNullOrEmpty(DropDownList1.SelectedValue))
{
string sqlDdlStrutture = "SELECT * FROM strutture WHERE id_destinazione = @destinazione ORDER BY NomeStruttura";
OleDbCommand cmdDdlStrutture = new OleDbCommand(sqlDdlStrutture, conn);
cmdDdlStrutture.Parameters.AddWithValue("@destinazione", Int32.Parse(DropDownList1.SelectedValue));
conn.Open();
DataTable dtStrutture = new DataTable();
OleDbDataAdapter adapterStrutture = new OleDbDataAdapter(cmdDdlStrutture);
adapterStrutture.Fill(dtStrutture);
ddlStruttura.DataSource = dtStrutture;
ddlStruttura.DataBind();
}
conn.Close();
E qui la porzione di codice che salva i dati nella tabella specifica:
...
cmd1.Parameters.AddWithValue("id_struttura", ddlStruttura.SelectedValue);
...
Non so piu come fare... grazie!