13 messaggi dal 07 giugno 2007
Salve a tutti, mi sto avvicinando a .net con C#

Vorrei creare un "semplice" script del tipo:

1) mi connetto tramite odbc a un db mysql e creo un datasource (select)
(fin qui tutto ok)

2) Carico una <table> con la select

3) se clicco su un bottone, mi popola un'altra tabella in relazione all'id precedentemente cliccato.


Suggeritemi come muoverimi... il punto 1 è ok (vedi sotto), x gli altri non riesco ad andare oltre il datagrid


<asp:SqlDataSource
          id="sql_level1"
          runat="server"
          ProviderName="System.Data.Odbc"
          ConnectionString="dsn=MIO;"
          SelectCommand="SELECT 
                        l1_titolo,l1_testo,concat(nome,' ',cog) as supervisore
                        FROM TASKS_level1 inner join TASKS_users on id=l1_supervisor;"
           UpdateCommand="">
      </asp:SqlDataSource>

...

<asp:GridView ID="GridView1" runat="server"
             AutoGenerateEditButton=false
             AutoGenerateSelectButton=true
             DataSourceID="sql_level1"
             AllowSorting="true"
             AlternatingRowStyle-BackColor=Aqua ></asp:GridView>
mi sembra che anche il punto due non ti crei problemi, non visualizzi già una griglia?

per fare il punto 3 hai bisogno di un altro SqlDataSource (chiamiamolo DetailsSqlDataSource) la cui query accetti un parametro, ovvero l'id precedentemente cliccato.

poi, un DetailsView che associ al DetailsSqlDataSource.

il tuo DetailsSqlDataSource lo aggiungi:

<SelectParameters>
            <asp:ControlParameter ControlID="GridView1" Name="ID" PropertyName="SelectedValue" />
            </SelectParameters>


ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
13 messaggi dal 07 giugno 2007
ciao, intanto grazie x la risposta

Calcola che io parto quasi da zero nel senso che spostarmi dalla programmazione lineare di php a questa elaborata mi risulta un po difficile.

Lo step1 mi genera correttamente la tabella.
Il passaggio che mi manca è, a questo punto, come richiamare il valore (ossia l'id del campo del database) dopo il click.

Ricapitolo schematicamente:
1) che comando uso per far risultare un bottone (o link) che passi il valore dell'ID del DB.

2) Come prendo il valore passato e come lo passo al nuovo datasource


Domanda probabilmente banale... ma sono davvero alle prime armi
13 messaggi dal 07 giugno 2007
nostromo ha scritto:
mi sembra che anche il punto due non ti crei problemi, non visualizzi già una griglia?

per fare il punto 3 hai bisogno di un altro SqlDataSource (chiamiamolo DetailsSqlDataSource) la cui query accetti un parametro, ovvero l'id precedentemente cliccato.

poi, un DetailsView che associ al DetailsSqlDataSource.

il tuo DetailsSqlDataSource lo aggiungi:

<SelectParameters>
            <asp:ControlParameter ControlID="GridView1" Name="ID" PropertyName="SelectedValue" />
            </SelectParameters>


ciao marco



ok, ho vagamente capito il senso... però non mi accetta il Name che tu chiami "ID"(stem.InvalidOperationException: Impossibile trovare il controllo 'idlevel4' in ControlParameter 'GridView1'.) , questo il codice :

<asp:SqlDataSource
          id="sql_level1"
          runat="server"
          ProviderName="System.Data.Odbc"
          ConnectionString="dsn=MIO;"
          SelectCommand="SELECT * from TASKS_level4"   
          UpdateCommand="UPDATE TASKS_level4 set l4_titolo=@l4_titolo where idlevel4=@idlevel4">
          
          <SelectParameters>
            <asp:ControlParameter Name="GridView1" ControlId="idlevel4" PropertyName="Text" />
          </SelectParameters>
      </asp:SqlDataSource>

      <asp:GridView ID="GridView1" runat="server"
             AutoGenerateEditButton=true
             AutoGenerateSelectButton=true
             DataSourceID="sql_level1"
             AllowSorting="true"
             AllowPaging=true
             AlternatingRowStyle-BackColor=Aqua
             SelectedRowStyle-BackColor=red
             ></asp:GridView>
quà puoi trovare una guida passo passo:

http://msdn2.microsoft.com/it-it/library/stc0szde(vs.80).aspx

quà invece l'elenco completo:

http://msdn2.microsoft.com/it-it/library/bdhhebch(VS.80).aspx

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
stai usando odbc i parametri sono posizionali e contraddistinti dal simbolo ?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
13 messaggi dal 07 giugno 2007
nostromo ha scritto:
stai usando odbc i parametri sono posizionali e contraddistinti dal simbolo ?

ciao marco


non ho capito cosa intendi... ho fatto un ODBC (funzionante) su Mysql e il primo datagrid lo spara correttamente.

I link che mi hai passati saranno utilissimi, ma non sto usando VS2005 ma il
Visual Web Developer 2005.

Allo stato attuale cosa dovrei mettere quindi nel ControlId?
per seguire quel tutorial è sufficenete Visual Web Developer.

posta il codice della pagina.

comunque quando dicevo usi odbc e i parametri sono posizionali...

prendiamo la query che hai definito per l'update.

UpdateCommand="UPDATE TASKS_level4 set l4_titolo=@l4_titolo where"

dovrebbe essere UPDATE TASKS_level4 set l4_titolo=?

i parametri vongono risolti in base alla lora posizione e non il nome.


comunque appena puoi usa il connector(lo trovi sul sito di MySql) piuttosto che odbc

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

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.