em

Erro com ObjetDataSoruce usando ComponentModel

Último post 12-15-2009 16:38 de Vanderlei Pina. 4 respostas.
Página 1 de 1 (5 itens)
Classificação de Posts: Anterior Próximo
  • 11-17-2008 16:33

    • Vanderlei Pina
    • Top 150 Contribuidores
    • Membro desde 04-08-2008
    • Cornelio Procopio
    • Posts 9
    • Pontos 135

    Erro com ObjetDataSoruce usando ComponentModel

    Ola pessoal do SharpCode,

    Estou com o seguinte problema, tenho um dataGrid com dois linkbutton Editar e Excluir, um ObjectDataSource,

    Os dois botoes chama um metodo definido como

    [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.xxx, true)]

    estes chamam cada um uma storeProcedure, quando tento editar funciona perfeitamente, quando vou excluir obtenho este erro:

    ObjectDataSource 'dsProdutos' não pôde localizar um método não genérico 'Delete' que tenha parâmetros: produtoId, .

    Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.

    Detalhes da Exceção: System.InvalidOperationException: ObjectDataSource 'dsProdutos' não pôde localizar um método não genérico 'Delete' que tenha parâmetros: produtoId, .

    Erro de Origem:

    Exceção não tratada foi gerada durante a execução da atual solicitação da Web. As informações relacionadas à origem e ao local da exceção podem ser identificadas usando-se o rastreamento de pilha de exceção abaixo.

    Rastreamento de Pilha:

    [InvalidOperationException: ObjectDataSource 'dsProdutos' não pôde localizar um método não genérico 'Delete' que tenha parâmetros: produtoId, .]
       System.Web.UI.WebControls.ObjectDataSourceView.GetResolvedMethodData(Type type, String methodName, IDictionary allParameters, DataSourceOperation operation) +1330054
       System.Web.UI.WebControls.ObjectDataSourceView.ExecuteDelete(IDictionary keys, IDictionary oldValues) +1067
       System.Web.UI.DataSourceView.Delete(IDictionary keys, IDictionary oldValues, DataSourceViewOperationCallback callback) +75
       System.Web.UI.WebControls.GridView.HandleDelete(GridViewRow row, Int32 rowIndex) +927
       System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +1134
       System.Web.UI.WebControls.GridView.OnBubbleEvent(Object source, EventArgs e) +95
       System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
       System.Web.UI.WebControls.GridViewRow.OnBubbleEvent(Object source, EventArgs e) +117
       System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
       System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +115
       System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +132
       System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +177
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746
    

    Aqui segue o metodo que eh chamado:

    [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Delete, true)]public static void Delete(int produtoId)

    {

    SqlConnection con = new SqlConnection(_connectionString);

    SqlCommand cmd = new SqlCommand("ProductDelete", con);cmd.CommandType = CommandType.StoredProcedure;

     

    cmd.Parameters.AddWithValue(
    "@ProductId", produtoId);

     

    using (con)

    {

    con.Open();

    cmd.ExecuteNonQuery();

    }

    }

    Agradeço a atenção de voces.

    Vander

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

    • Vanderlei Pina
    • Top 150 Contribuidores
    • Membro desde 04-08-2008
    • Cornelio Procopio
    • Posts 9
    • Pontos 135

    Responder: Erro com ObjetDataSoruce usando ComponentModel

    Consegui resolver, reconfigurei o ObjectdataSource e ele dava o mesmo erro mas dizendo que agora precisava de dois parametros o produtoId , original_produtoId. coloquei no meu metodo os dois parametros e passei para a store procedure este original_produtoId.. nao entendi por que mas funcionou.. se alguem souber me responder por que foi gerado este novo parametro eu ficaria feliz...

     

    Grato a todos.

    • Pontos do post: 20
  • 11-26-2008 21:25 em resposta para

    • spoky
    • Top 10 Contribuidores
    • Membro desde 04-02-2008
    • Maringá
    • Posts 89
    • Pontos 875

    Responder: Erro com ObjetDataSoruce usando ComponentModel

    muito obrigado por postar a solução do problema, assim o pessoal da comunidade já conhece a solução do problema tbm :D

    • Pontos do post: 5
  • 12-15-2009 15:41 em resposta para

    • Mayder
    • Top 200 Contribuidores
    • Membro desde 12-15-2009
    • Posts 1
    • Pontos 20

    Responder: Erro com ObjetDataSoruce usando ComponentModel

    Cara, estou com este mesmo problema, igualzinho igualzinho, só que não consegui resolver do mesmo jeito que você, estava funcionando o Delete belezinha, mas fazendo outras coisas na pagina começou a dar este erro. Não faço idéia do que é, se alguém souber.
    • Pontos do post: 20
  • 12-15-2009 16:38 em resposta para

    • Vanderlei Pina
    • Top 150 Contribuidores
    • Membro desde 04-08-2008
    • Cornelio Procopio
    • Posts 9
    • Pontos 135

    Responder: Erro com ObjetDataSoruce usando ComponentModel

    Cara da uma olhada nos parametros pedidos no erro... veja as constraints de deleção....

    posta o erro ai para darmos uma olhada

    abs

     

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