Update che non fa l'update!!

giovedì 19 aprile 2007 - 17.48

sankyu Profilo | Senior Member

Aiutatemi vi prego ci ho perso la giornata ma questo cacchio di codice non funziona eppure non genera manco un errore!! scusate se lo posto in blocco ma non ho idea di dove possa essere il bug!! HELP PLEASE!!!!

<asp:GridView ID="GVeccezioni" runat="server" AutoGenerateColumns="False" CellPadding="4"
DataSourceID="SDSeccezioni" ForeColor="#333333" GridLines="None" Width="99%" DataKeyNames="id_eccezione_agenzia">
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:BoundField DataField="id_agenzia" HeaderText="id_agenzia" SortExpression="id_agenzia" ReadOnly="True" />
<asp:TemplateField HeaderText="Moneta Pagamento">
<EditItemTemplate>
<asp:DropDownList ID="DDLmonetaPagamento" runat="server" DataSourceID="SDSmonetaPagamento"
DataTextField="nombre_moneda" DataValueField="id_moneda" SelectedValue='<%# Bind("ecc_id_moneta_pagamento") %>'>
</asp:DropDownList><asp:SqlDataSource ID="SDSmonetaPagamento" runat="server" ConnectionString="<%$ ConnectionStrings:unitedneoConnectionString %>"
SelectCommand="SELECT [id_idioma], [nombre_moneda], [id_moneda] FROM [moneda] WHERE ([id_idioma] = @id_idioma)">
<SelectParameters>
<asp:CookieParameter CookieName="id_lingua" Name="id_idioma" Type="Decimal" />
</SelectParameters>
</asp:SqlDataSource>
</EditItemTemplate>
<AlternatingItemTemplate>
<asp:Label ID="LBLmonetaPagamentoA" runat="server" Text='<%# Eval("monetapago") %>'></asp:Label>
</AlternatingItemTemplate>
<ItemTemplate>
<asp:Label ID="LBLmonetaPagamentoI" runat="server" Text='<%# Eval("monetapago") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Moneta Invio">
<EditItemTemplate>
<asp:DropDownList ID="DDLinvio" runat="server" DataSourceID="SDSinvio"
DataTextField="nombre_moneda" DataValueField="id_moneda" SelectedValue='<%# Bind("ecc_id_moneta_invio") %>'>
</asp:DropDownList><asp:SqlDataSource ID="SDSinvio" runat="server" ConnectionString="<%$ ConnectionStrings:unitedneoConnectionString %>"
SelectCommand="SELECT [id_moneda], [id_idioma], [nombre_moneda] FROM [moneda] WHERE ([id_idioma] = @id_idioma)">
<SelectParameters>
<asp:CookieParameter CookieName="id_lingua" Name="id_idioma" Type="Decimal" />
</SelectParameters>
</asp:SqlDataSource>
</EditItemTemplate>
<AlternatingItemTemplate>
<asp:Label ID="LBLinvioA" runat="server" Text='<%# Eval("monetainvio") %>'></asp:Label>
</AlternatingItemTemplate>
<ItemTemplate>
<asp:Label ID="LBLinvioI" runat="server" Text='<%# Eval("monetainvio") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Moneta Invio 2">
<EditItemTemplate>
<asp:DropDownList ID="DDLinvio2" runat="server" DataSourceID="SDSinvio2"
DataTextField="nombre_moneda" DataValueField="id_moneda" SelectedValue='<%# Bind("ecc_id_moneta_invio2") %>'>
</asp:DropDownList><asp:SqlDataSource ID="SDSinvio2" runat="server" ConnectionString="<%$ ConnectionStrings:unitedneoConnectionString %>"
SelectCommand="SELECT [id_moneda], [id_idioma], [nombre_moneda] FROM [moneda] WHERE ([id_idioma] = @id_idioma)">
<SelectParameters>
<asp:CookieParameter CookieName="id_lingua" Name="id_idioma" Type="Decimal" />
</SelectParameters>
</asp:SqlDataSource>
</EditItemTemplate>
<AlternatingItemTemplate>
<asp:Label ID="LBLinvio2A" runat="server" Text='<%# Eval("monetainvio2") %>'></asp:Label>
</AlternatingItemTemplate>
<ItemTemplate>
<asp:Label ID="LBLinvio2I" runat="server" Text='<%# Eval("monetainvio2") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Corrispondente">
<EditItemTemplate>
<asp:DropDownList ID="DDLcorrispondente" runat="server" DataSourceID="SDScorrispondente"
DataTextField="nome" DataValueField="id_banco" SelectedValue='<%# Bind("ecc_id_corrispondente") %>'>
</asp:DropDownList><asp:SqlDataSource ID="SDScorrispondente" runat="server" ConnectionString="<%$ ConnectionStrings:unitedneoConnectionString %>"
SelectCommand="SELECT id_banco, nome FROM SYSTEM_BANCO_MA_T WHERE abilitazione = 1">
</asp:SqlDataSource>
</EditItemTemplate>
<AlternatingItemTemplate>
<asp:Label ID="LBLcorrispondenteA" runat="server" Text='<%# Eval("corrispondente") %>'></asp:Label>
</AlternatingItemTemplate>
<ItemTemplate>
<asp:Label ID="LBLcorrispondenteI" runat="server" Text='<%# Eval("corrispondente") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Nazione">
<EditItemTemplate>
<asp:DropDownList ID="DDLnazione" runat="server" DataSourceID="SDSnazione"
DataTextField="nombre_pais" DataValueField="id_pais" SelectedValue='<%# Bind("ecc_id_nazione") %>'>
</asp:DropDownList><asp:SqlDataSource ID="SDSnazione" runat="server" ConnectionString="<%$ ConnectionStrings:unitedneoConnectionString %>"
SelectCommand="SELECT [nombre_pais], [id_pais] FROM [pais] WHERE ([id_idioma] = @id_idioma)">
<SelectParameters>
<asp:CookieParameter CookieName="id_lingua" Name="id_idioma" Type="Decimal" />
</SelectParameters>
</asp:SqlDataSource>
</EditItemTemplate>
<AlternatingItemTemplate>
<asp:Label ID="LBLnazioneA" runat="server" Text='<%# Eval("nazione") %>'></asp:Label>
</AlternatingItemTemplate>
<ItemTemplate>
<asp:Label ID="LBLnazioneI" runat="server" Text='<%# Eval("nazione") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Tipo Pagamento1">
<EditItemTemplate>
<asp:DropDownList ID="DDLtipoPagamento" runat="server" DataSourceID="SDStipoPagamento"
DataTextField="Descrizione" DataValueField="id_tipo_pagamento" SelectedValue='<%# Bind("ecc_id_tipo_pagamento") %>'>
</asp:DropDownList><asp:SqlDataSource ID="SDStipoPagamento" runat="server" ConnectionString="<%$ ConnectionStrings:unitedneoConnectionString %>"
SelectCommand="SELECT [id_tipo_pagamento], [id_lingua], [Descrizione] FROM [tipo_pagamento] WHERE ([id_lingua] = @id_lingua)">
<SelectParameters>
<asp:CookieParameter CookieName="id_lingua" Name="id_lingua" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</EditItemTemplate>
<AlternatingItemTemplate>
<asp:Label ID="LBLtipoPagamentoA" runat="server" Text='<%# Eval("tipo_pagamento") %>'></asp:Label>
</AlternatingItemTemplate>
<ItemTemplate>
<asp:Label ID="LBLtipoPagamentoI" runat="server" Text='<%# Eval("tipo_pagamento") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Tipo Pagamento2">
<EditItemTemplate>
<asp:DropDownList ID="DDLtipoPagamento2" runat="server" DataSourceID="SDStipoPagamento2"
DataTextField="Descrizione" DataValueField="id_tipo_pagamento" SelectedValue='<%# Bind("ecc_id_tipo_pagamento2") %>'>
</asp:DropDownList><asp:SqlDataSource ID="SDStipoPagamento2" runat="server" ConnectionString="<%$ ConnectionStrings:unitedneoConnectionString %>"
SelectCommand="SELECT [id_tipo_pagamento], [id_lingua], [Descrizione] FROM [tipo_pagamento] WHERE ([id_lingua] = @id_lingua)">
<SelectParameters>
<asp:CookieParameter CookieName="id_lingua" Name="id_lingua" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</EditItemTemplate>
<AlternatingItemTemplate>
<asp:Label ID="LBLtipoPagamento2A" runat="server" Text='<%# Eval("tipo_pagamento2") %>'></asp:Label>
</AlternatingItemTemplate>
<ItemTemplate>
<asp:Label ID="LBLtipoPagamento2I" runat="server" Text='<%# Eval("tipo_pagamento2") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="True" />
</Columns>
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<EditRowStyle BackColor="#999999" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" Font-Size="X-Small" ForeColor="White" HorizontalAlign="Left" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>
<asp:SqlDataSource ID="SDSeccezioni" runat="server" ConnectionString="<%$ ConnectionStrings:unitedneoConnectionString %>"
SelectCommand="eccezioni_agenzia_sp" SelectCommandType="StoredProcedure"
UpdateCommand="UPDATE eccezione_agenzia SET ecc_id_moneta_pagamento = @ecc_id_moneta_pagamento, ecc_id_moneta_invio = @ecc_id_moneta_invio, ecc_id_moneta_invio2 = @ecc_id_moneta_invio2, ecc_id_corrispondente = @ecc_id_corrispondente, ecc_id_nazione = @ecc_id_nazione, ecc_id_tipo_pagamento = @ecc_id_tipo_pagamento, ecc_id_tipo_pagamento2 = @ecc_id_tipo_pagamento2 WHERE id_eccezione_agenzia = @id_eccezione_agenzia">
<SelectParameters>
<asp:CookieParameter CookieName="id_lingua" Name="lingua" Type="Int32" />
<asp:ControlParameter ControlID="DDLselAgenzia" Name="id_agenzia" PropertyName="SelectedValue" Type="Decimal" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="ecc_id_moneta_pagamento" Type="Int32"/>
<asp:Parameter Name="ecc_id_moneta_invio" Type="Int32" />
<asp:Parameter Name="ecc_id_moneta_invio2" Type="Int32" />
<asp:Parameter Name="ecc_id_corrispondente" Type="Int32" />
<asp:Parameter Name="ecc_id_nazione" Type="Int32" />
<asp:Parameter Name="ecc_id_tipo_pagamento" Type="Int32" />
<asp:Parameter Name="ecc_id_tipo_pagamento2" Type="Int32" />
<asp:Parameter Name="id_eccezione_agenzia" />
</UpdateParameters>
</asp:SqlDataSource>

alx_81 Profilo | Guru

Ciao
>Aiutatemi vi prego ci ho perso la giornata ma questo cacchio
>di codice non funziona eppure non genera manco un errore!! scusate
>se lo posto in blocco ma non ho idea di dove possa essere il
>bug!! HELP PLEASE!!!!

Ok, ma non potresti almeno indicare quello che vuoi che faccia il tuo codice?
E soprattutto, cosa non fa che invece ti aspetteresti?
Almeno rispondi a queste due domande, è un inizio
Alx81 =)

http://blogs.dotnethell.it/suxstellino

sankyu Profilo | Senior Member

scusate per la chilometrata di codice ma ero esaurito!
il mio codice dovrebbe essere una gridview che fa un'update utilizzando i command button standard e prendendo i parametri con cui fare l'update da dropdown list inserite in itemtemplate ed il cui valore selectedvalue è stato bindato al datasource della gridview.
il problema è che pur essendo apparentemente tutto ok quando clicco su update non mi fa l'update del database ma non restituisce neanche l'errore. ho inserito il datakeynames nella gridview ed ho controllato che nel datasource tutti i parametri fossero dichiarati e non mi pare ci sia nulla che manca ma continua a non fare nulla! e pensare che ne ho fatte a chili di gridview così ed hanno sempre funzionato
grazie !!
-------------------------------------------------------------------------------------------
Risolto!!
quando si usa il metodo findcontrol di un oggetto gridview bisogna sempre specificare la riga in cui si vuole cercare il controllo se no non trova l'oggetto di riferimento!
quindi con una cosa tipo
Dim row As Data.DataRow
row=gridview1.selectedrow

text =row.findcontrol("textbox")

in questo modo posso passare il valore di text come parametro e fare l'updaTE!!!

GiuliaDOTNET Profilo | Newbie

>Risolto!!
>quando si usa il metodo findcontrol di un oggetto gridview bisogna
>sempre specificare la riga in cui si vuole cercare il controllo
>se no non trova l'oggetto di riferimento!
>quindi con una cosa tipo
> Dim row As Data.DataRow
>row=gridview1.selectedrow
>
>text =row.findcontrol("textbox")
>
>in questo modo posso passare il valore di text come parametro
>e fare l'updaTE!!!

Ciao!
Anche io ho un problema di questo tipo.
A me anche se cambio i valori nei campi della Grid View quando salvo mi rimette quelli precedenti.
Quindi non tiene conto delle modifiche
Tu con quel codice che fai? Dove va inserito?

sankyu Profilo | Senior Member

nel evento row updating della grid view devi ripassare i parametri al datasource nell'update command
tipo così:
dim text 1 as textbox=grid1.selectededitrow.findcontrol("textbox1")
datasource1.updateparameters("citta").value= text1.text
datasource1.update()

la sintassi è sbagliata xche ho il visual studio chiuso cmd il concetto è quello
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5