Devo modificare i dati di un cliente.
Il problema si verifica nelle drop della provincia e del comune.
Come da procedura qui sotto, tutto funziona bene, la scheda del cliente viene caricata, e anche provincia e comune.
Il problema è questo:
diciamo che la provincia è MILANO, questa viene caricata regolarmente e la lista dei comuni pure.
Ora modifico un comune senza toccare la provincia.
Salvo il tutto.
Non viene salvato il comune prescelto, ma quello in cima a,lla lista nella dropdown.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("mdb-database/Dati.mdb"))
If Not IsPostBack Then
cn.Open()
cmd = New OleDbCommand("select * from Province ORDER BY Capoluogo", cn)
Provincia.DataSource = cmd.ExecuteReader()
Provincia.DataTextField = "Capoluogo"
Provincia.DataValueField = "IDProvincia"
Provincia.DataBind()
Provincia.DataSource.close()
Provincia.Dispose()
cn.Close()
dap = New OleDbDataAdapter("Select * from Clienti where IDCliente=" & Request("ID"), cn)
dst = New DataSet
dap.Fill(dst, "Clienti")
With dst.Tables("Clienti").Rows(0)
CodGiss.Text = ""
RagSoc.Text = ""
CodPers.Text = ""
Utente.Text = ""
Password.Text = ""
Telefono.Text = ""
Reperibile1.Text = ""
Telefono1.Text = ""
Reperibile2.Text = ""
Telefono2.Text = ""
Manutenzione.Text = ""
TelefonoManutenzione.Text = ""
Email.Text = ""
Indirizzo.Text = ""
Note_Emergenza.Text = ""
Note.Text = ""
CodGiss.Text = .Item("CodGiss")
RagSoc.Text = .Item("RagSoc")
If DBNull.Value.Equals(.Item("CodPers")) = False Then CodPers.Text = .Item("CodPers")
If DBNull.Value.Equals(.Item("Utente")) = False Then Utente.Text = .Item("Utente")
If DBNull.Value.Equals(.Item("pw")) = False Then Password.Text = .Item("pw")
'Comune.SelectedValue = .Item("IDComune")
If DBNull.Value.Equals(.Item("Reperibile1")) = False Then Telefono.Text = .Item("Telefono")
If DBNull.Value.Equals(.Item("Reperibile1")) = False Then Reperibile1.Text = .Item("Reperibile1")
If DBNull.Value.Equals(.Item("Telefono1")) = False Then Telefono1.Text = .Item("Telefono1")
If DBNull.Value.Equals(.Item("Reperibile2")) = False Then Reperibile2.Text = .Item("Reperibile2")
If DBNull.Value.Equals(.Item("Telefono2")) = False Then Telefono2.Text = .Item("Telefono2")
If DBNull.Value.Equals(.Item("Manutenzione")) = False Then Manutenzione.Text = .Item("Manutenzione")
If DBNull.Value.Equals(.Item("TelefonoManutenzione")) = False Then TelefonoManutenzione.Text = .Item("TelefonoManutenzione")
If DBNull.Value.Equals(.Item("Email")) = False Then Email.Text = .Item("Email")
If DBNull.Value.Equals(.Item("Indirizzo")) = False Then Indirizzo.Text = .Item("Indirizzo")
If DBNull.Value.Equals(.Item("Note_Emergenza")) = False Then Note_Emergenza.Text = .Item("Note_Emergenza")
If DBNull.Value.Equals(.Item("Note")) = False Then Note.Text = .Item("Note")
cn.Open()
sql = "SELECT * FROM Query_Comuni WHERE IDComune=" & .Item("IDComune")
dap1 = New OleDbDataAdapter(sql, cn)
dst1 = New DataSet
dap1.Fill(dst1, "Query_Comuni")
Dim IDProvincia As Integer = dst1.Tables("Query_Comuni").Rows(0).Item("IDProvincia")
Provincia.SelectedValue = IDProvincia
'MsgBox(IDProvincia)
Comune.Items.Clear()
cmd = New OleDbCommand("select * from Query_Comuni WHERE IDProvincia=" & IDProvincia & " ORDER BY Comune", cn)
Comune.DataSource = cmd.ExecuteReader()
Comune.DataTextField = "Comune"
Comune.DataValueField = "IDComune"
Comune.DataBind()
Comune.DataSource.close()
Comune.Dispose()
Comune.Enabled = True
Comune.SelectedValue = .Item("IDComune")
cn.Close()
End With
End If
End Sub