Sto cercando di utilizare per la prima volta il datagrid per un e-commerce ma quando chiamo la routine del'update non ottengo nessun risultato.. di seguito un po di codice..
codice:
'***Il datagrid
<asp:DataGrid id="DataGrid1" runat="server" OnUpdateCommand="DataGrid1_Update" OnDeleteCommand="DataGrid1_Delete" OnCancelCommand="DataGrid1_Cancel" onEditCommand="DataGrid1_Edit" AutoGenerateColumns="False" DataKeyField="Ordini.Id" EditItemStyle-Width="10px">
<SelectedItemStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#738A9C"></SelectedItemStyle>
<AlternatingItemStyle BackColor="#F7F7F7"></AlternatingItemStyle>
<ItemStyle ForeColor="#4A3C8C" BackColor="#E7E7FF"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#4A3C8C"></HeaderStyle>
<FooterStyle ForeColor="#4A3C8C" BackColor="#B5C7DE"></FooterStyle>
<Columns>
<asp:HyperLinkColumn DataTextField="DenominazioneArticolo" HeaderText="Articolo"></asp:HyperLinkColumn>
<asp:TemplateColumn HeaderText="Prezzo">
<ItemTemplate>
<asp:Label id="Prezzo" runat="server" Text='<%# selezionaPrezzo(Container.DataItem) %>' />
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="quantita" HeaderText="Quantità"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="Totale">
<ItemTemplate>
<asp:Label id="Totale" runat="server" Text='<%# CalcolaPrezzo(Container.DataItem) %>' />
</ItemTemplate>
</asp:TemplateColumn>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Aggiorna" HeaderText="Modifica" CancelText="Annulla"
EditText="Modifica"></asp:EditCommandColumn>
<asp:ButtonColumn Text="Elimina" ButtonType="PushButton" HeaderText="Elimina" CommandName="Delete"></asp:ButtonColumn>
</Columns>
<PagerStyle HorizontalAlign="center" ForeColor="#4A3C8C" BackColor="#E7E7FF" Mode="NumericPages"></PagerStyle>
</asp:DataGrid>
Public Sub DataGrid1_Update(ByVal obj As Object, ByVal e As DataGridCommandEventArgs)
Dim varId As Integer = DataGrid1.DataKeys(e.Item.ItemIndex)
Dim sqlAggiorna As New OleDb.OleDbCommand("Update ordini set idVariante='0', quantita='100' where idArticolo=" & varId & " and idUtente='" & Session("ordineMB") & "'", conn)
Dim sqlEstrai As New OleDb.OleDbCommand("Select * from articoli, ordini where articoli.id=ordini.idArticolo and ordini.idUtente='" & Session("ordineMB") & "'", conn)
conn.Open()
sqlAggiorna.ExecuteNonQuery()
Dim dr As OleDb.OleDbDataReader = sqlEstrai.ExecuteReader
DataGrid1.DataSource = dr
DataGrid1.EditItemIndex = -1
DataGrid1.DataBind()
dr.Close()
conn.Close()
End Sub
La routine viene eseguita infatti se provo a stampare la query o qualsiasi altra cosa vedo i risultati nella pagina ma la query non viene eseguita o non ha nessun effetto, cosa sbaglio?
Qualche idea? sono tre giorni che ci sbatto la testa..
Grazie