em

Problema no SqldataSource

Último post 09-17-2008 14:28 de anobre. 5 respostas.
Página 1 de 1 (6 itens)
Classificação de Posts: Anterior Próximo
  • 09-16-2008 10:32

    • ramorim
    • Top 150 Contribuidores
    • Membro desde 06-06-2008
    • Santana do Livramento - RS
    • Posts 60
    • Pontos 655

    Problema no SqldataSource

    Olá

    Criei uma gridview conectada num sqldatasource para select, update e delete, mas  os dados não são alterados no BD. Fiz tudo pelo automático (entenda-se wizard) :-) e ele altera os dados na gridview, mas não no BD.

    Gostei do nro de linhas q usei pra fazer isso: 0..hehehe mas ainda não ta 100%.

     Abraços!

     

    • Pontos do post: 20
  • 09-16-2008 10:50 em resposta para

    • anobre
    • Top 150 Contribuidores
    • Membro desde 08-14-2008
    • São Paulo
    • Posts 14
    • Pontos 145

    Responder: Problema no SqldataSource

    ramorim,

    veja se este link pode te ajudar. O exemplo também é N-N-F (Next, Next, Finish).

    http://www.linhadecodigo.com.br/Artigo.aspx?id=788

    Abraços.
    -- André Nobre

    Abaixo de: ,
    • Pontos do post: 20
  • 09-16-2008 15:04 em resposta para

    • ramorim
    • Top 150 Contribuidores
    • Membro desde 06-06-2008
    • Santana do Livramento - RS
    • Posts 60
    • Pontos 655

    Responder: Problema no SqldataSource

     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!

     

    Abaixo de: ,
    • Pontos do post: 20
  • 09-17-2008 10:48 em resposta para

    • anobre
    • Top 150 Contribuidores
    • Membro desde 08-14-2008
    • São Paulo
    • Posts 14
    • Pontos 145

    Responder: Problema no SqldataSource

    Rafael,

    seu erro pode estar ocorrendo pelo banco ser postgres. Certifique-se que as strings geradas para insert / update estão no padrão deste banco, inclusive a utilização de parâmetros. Em último caso, opte por utilizar ObjectDataSource, ao invés de SqlDataSource.

     Abraços
    -- André Nobre

    • Pontos do post: 20
  • 09-17-2008 11:53 em resposta para

    • ramorim
    • Top 150 Contribuidores
    • Membro desde 06-06-2008
    • Santana do Livramento - RS
    • Posts 60
    • Pontos 655

    Responder: Problema no SqldataSource

    André

    O problema maior foi na pecinha.... que fica entre a cadeira e o teclado...hehehehe

    Resumindo a lista de erros

    • O primeiro é q estava gravando em uma tabela do ms sql e tentando ver os dados no postgres :-( => resolvido
    • Depois o problema foi q ele não aceitava o caracter [ antes do nome da tabela e dos campos => resolvido
    • E por fim ele não sabia o q significava o @ antes dos nomes dos campos => pra resolver esse tive q  trocar  o @ por ? - ex. nome = @nome para nome = ?

    Agora está funcionando :-D

    Obrigado pela ajuda.

    • Pontos do post: 20
  • 09-17-2008 14:28 em resposta para

    • anobre
    • Top 150 Contribuidores
    • Membro desde 08-14-2008
    • São Paulo
    • Posts 14
    • Pontos 145

    Responder: Problema no SqldataSource

    hahaha mas que bom que deu certo. De qualquer maneira iríamos cair no último problema, que na minha opinião seria o mais chato de encontrar.

    Abraços.
    -- André Nobre

    • Pontos do post: 5
Página 1 de 1 (6 itens)
Provido por Community Server (Commercial Edition), por Telligent Systems