none
GridView com stored procedures: Procedure or function has too many arguments specified RRS feed

  • Pergunta

  • Pessoal, quando tenho usando stored procedures com o gridview tem me aparecido este erro.

    Procedure or function has too many arguments specified.

    A procedure funciona normal, mas no controle está dando este erro, alguém pode ajudar?

    quarta-feira, 29 de novembro de 2006 13:04

Todas as Respostas

  •  

    Ninguém teve um problema desses ainda? ou minha dúvida não foi clara?

    segunda-feira, 4 de dezembro de 2006 13:02
  • Glebe,

    pela mensagem de erro, você está passando mais do que a procedure espera. Poderia colocar seu código?

     


    Ricardo Oneda
    http://oneda.mvps.org/blog

    segunda-feira, 4 de dezembro de 2006 17:19
    Moderador
  • Olá Oneda,

    Olha só o meu problema maior mesmo é usando DataSet com ObjectDataSource e GridView. Eu não consigo usar os métodos de Update que estão no ObjectDataSource. Eles dão algum erro, quando uso uma StoredProcedure, dá o erro que mostrei a cima, quando uso direto do método gerado pelo DataSet dá o erro abaixo:

    ObjectDataSource 'ObjectDataSource1' could not find a non-generic method 'UpdateQuery' that has parameters: ...

    Como se meus parâmetros não estivessem lá.

    Já olhei este tipo de erro na internet e muito falam sobre colocar a chave no gridview, depois deixar a coluna com readonly true, em fim, tudo aquilo que eu já fiz.

    Fiz um modelo bem simples para ficar praticando, mascontinua dando estes erros. Vou colocar o código abaixo:

    GridView

    <asp:GridView ID="GridView3" runat="server" AutoGenerateColumns="False" DataKeyNames="CustomerID"

    DataSourceID="ObjectDataSource1">

    <Columns>

    <asp:CommandField ShowEditButton="True" />

    <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" ReadOnly="True" SortExpression="CustomerID" />

    <asp:BoundField DataField="CompanyName" HeaderText="CompanyName" SortExpression="CompanyName" />

    <asp:BoundField DataField="ContactName" HeaderText="ContactName" SortExpression="ContactName" />

    <asp:BoundField DataField="ContactTitle" HeaderText="ContactTitle" SortExpression="ContactTitle" />

    <asp:BoundField DataField="Address" HeaderText="Address" SortExpression="Address" />

    <asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />

    <asp:BoundField DataField="Region" HeaderText="Region" SortExpression="Region" />

    <asp:BoundField DataField="PostalCode" HeaderText="PostalCode" SortExpression="PostalCode" />

    <asp:BoundField DataField="Country" HeaderText="Country" SortExpression="Country" />

    <asp:BoundField DataField="Phone" HeaderText="Phone" SortExpression="Phone" />

    <asp:BoundField DataField="Fax" HeaderText="Fax" SortExpression="Fax" />

    </Columns>

    </asp:GridView>

    ObjectDataSource:

    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="Delete"

    InsertMethod="Insert" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData"

    TypeName="DataSet1TableAdapters.CustomersTableAdapter" UpdateMethod="UpdateQuery">

    <DeleteParameters>

    <asp:Parameter Name="Original_CustomerID" Type="String" />

    <asp:Parameter Name="Original_CompanyName" Type="String" />

    <asp:Parameter Name="Original_ContactName" Type="String" />

    <asp:Parameter Name="Original_ContactTitle" Type="String" />

    <asp:Parameter Name="Original_Address" Type="String" />

    <asp:Parameter Name="Original_City" Type="String" />

    <asp:Parameter Name="Original_Region" Type="String" />

    <asp:Parameter Name="Original_PostalCode" Type="String" />

    <asp:Parameter Name="Original_Country" Type="String" />

    <asp:Parameter Name="Original_Phone" Type="String" />

    <asp:Parameter Name="Original_Fax" Type="String" />

    </DeleteParameters>

    <UpdateParameters>

    <asp:Parameter Name="CompanyName" Type="String" />

    <asp:Parameter Name="ContactName" Type="String" />

    <asp:Parameter Name="ContactTitle" Type="String" />

    <asp:Parameter Name="Address" Type="String" />

    <asp:Parameter Name="City" Type="String" />

    <asp:Parameter Name="Region" Type="String" />

    <asp:Parameter Name="PostalCode" Type="String" />

    <asp:Parameter Name="Country" Type="String" />

    <asp:Parameter Name="Phone" Type="String" />

    <asp:Parameter Name="Fax" Type="String" />

    <asp:Parameter Direction="InputOutput" Name="CustomerID" Type="String" />

    </UpdateParameters>

    <InsertParameters>

    <asp:Parameter Name="CustomerID" Type="String" />

    <asp:Parameter Name="CompanyName" Type="String" />

    <asp:Parameter Name="ContactName" Type="String" />

    <asp:Parameter Name="ContactTitle" Type="String" />

    <asp:Parameter Name="Address" Type="String" />

    <asp:Parameter Name="City" Type="String" />

    <asp:Parameter Name="Region" Type="String" />

    <asp:Parameter Name="PostalCode" Type="String" />

    <asp:Parameter Name="Country" Type="String" />

    <asp:Parameter Name="Phone" Type="String" />

    <asp:Parameter Name="Fax" Type="String" />

    </InsertParameters>

    </asp:ObjectDataSource>

    Update Gerado pelo DataSet

    UPDATE [Customers] SET [CompanyName] = @CompanyName, [ContactName] = @ContactName, [ContactTitle] = @ContactTitle, [Address] = @Address, [City] = @City, [Region] = @Region, [PostalCode] = @PostalCode, [Country] = @Country, [Phone] = @Phone, [Fax] = @Fax WHERE [CustomerID] = @CustomerID AND [CompanyName] = @CompanyName AND [ContactName] = @ContactName AND [ContactTitle] = @ContactTitle AND [Address] = @Address AND [City] = @City AND [Region] = @Region AND [PostalCode] = @PostalCode AND [Country] = @Country AND [Phone] = @Phone AND [Fax] = @Fax

    Espero que com estas informações alguém possa me ajudar.

     

     

     

    quarta-feira, 6 de dezembro de 2006 18:49