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!

Creazione Siti Vicenza
Posizionamento Siti - SEO
è un po' difficile capire tutto. parli di 3 tabelle ma le ddl sono 2...

dunque al selectedindexchanged della prima devi popolare la seconda passando come parametro il selectedvalue della prima.

al salvataggio prendi il selectedvalue della seconda

le relazioni sul database (FK) sono indipendenti dalla pagina internet. Sempre meglio metterle ma non è obbligatorio
Modificato da manuel0081 il 21 agosto 2010 18.40 -

Ormai programmano tutti... ma la professionalità appartiene a pochi
manuel0081 ha scritto:

al salvataggio prendi il selectedvalue della seconda

Infatti è quello che stavo cercando di fare ma mi va a prendere sempre la selectedValue della prima... :-(


le relazioni sul database (FK) sono indipendenti dalla pagina internet. Sempre meglio metterle ma non è obbligatorio

bene, grazie non lo sapevo!

Creazione Siti Vicenza
Posizionamento Siti - SEO
domanda: le ddl sono popolate correttamente?

Ormai programmano tutti... ma la professionalità appartiene a pochi
Si, i nomi sono giusti, è il value che è sbagliato (prende quello della prima DDL)

Creazione Siti Vicenza
Posizionamento Siti - SEO
serve più codice...

Ormai programmano tutti... ma la professionalità appartiene a pochi
22 messaggi dal 28 luglio 2010
manuel0081 ha scritto:
serve più codice...


in effetti posta il codice con la query che salva nel db access e dicci questo codice dove si trova, se tutto insieme in un bottone, parte nel page load, in 2 bottoni diversi etc...
Ciao Ragazzi, anzitutto per grazie per le risposte!

Sono riuscito a trovare una soluzione, che postero presto in modo da aiutare tutti quelli che si troveranno nella mia stessa situazione...

Grazie ancora !!

Creazione Siti Vicenza
Posizionamento Siti - SEO

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.