André
Realmente o artigo é muito bom... eu já tinha lido ele.
O que está acontecendo é que quando mando alterar um registro, ele aparece como alterado. Mas no BD não está.
O código que montei para a página é:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False" CellPadding="4"
DataKeyNames="cgc" DataSourceID="SqlDataSource1" GridLines="None" PageSize="30" Width="80%">
<Columns>
<asp:BoundField DataField="cgc" HeaderText="CNPJ" ReadOnly="True"
SortExpression="cgc">
<HeaderStyle Width="30%" />
</asp:BoundField>
<asp:BoundField DataField="nome" HeaderText="Nome" SortExpression="nome">
<HeaderStyle Width="50%" />
</asp:BoundField>
<asp:CommandField CancelText="Cancelar" DeleteText="Excluir" EditText="Alterar"
InsertText="Novo" NewText="Novo" SelectText="Selecionar"
ShowDeleteButton="True" ShowEditButton="True" ShowHeader="True"
UpdateText="Atualizar" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:supocliConnectionString %>"
DeleteCommand="DELETE FROM [clientex] WHERE [cgc] = @cgc"
InsertCommand="INSERT INTO [clientex] ([cgc], [nome]) VALUES (@cgc, @nome)"
SelectCommand="SELECT [cgc], [nome] FROM [clientex]"
UpdateCommand="UPDATE [clientex] SET [nome] = @nome WHERE [cgc] = @cgc">
<DeleteParameters>
<asp:Parameter Name="cgc" Type="String" />
</DeleteParameters>
<UpdateParameters>
<asp:FormParameter FormField="nome" Name="nome" Type="String" />
<asp:FormParameter FormField="cgc" Name="cgc" Type="String" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="cgc" Type="String" />
<asp:Parameter Name="nome" Type="String" />
</InsertParameters>
</asp:SqlDataSource>
O BD é postgres e a tabela só tem 2 campos (cgc e nome). Ambos do tipo string
Obrigado a todos pela atenção!