SqlDataSource UpdateParameters supplies wrong number of params to storedproc

D

dotnw

If I try and update an SqlDataSource inside a DetailsView control,
using a stored procedure, I get this error -

Procedure or function DataViews_UpdateDetails has too many arguments
specified

However, if I just simply remove the stored procedure call, and use
"inline" sql instead, and leave the UpdateParameters totally unchanged,
and the sql totally unchanged as well (just copy it from the stored
proc to the html section), it works fine, and there are no errors.

Any ideas very welcome, thanks, regards, dnw.
 
M

Miha Markic [MVP C#]

Sounds to me that stored procedure requires less parameters?
What is the definition of SP and what is your code?
 
D

dotnw

The sp is

ALTER PROCEDURE [dbo].[DataViews_UpdateDetails]
@vcDetails varchar(50),
@cExtraDetails1 char(10),
@cExtraDetails2 char(10),
@cExtraDetails3 char(10),
@original_iId int,
@original_vcDetails varchar(50),
@original_cExtraDetails1 char(10),
@original_cExtraDetails2 char(10),
@original_cExtraDetails3 char(10)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

UPDATE DataViews_Details
SET vcDetails = @vcDetails, cExtraDetails1 = @cExtraDetails1,
cExtraDetails2 = @cExtraDetails2, cExtraDetails3 = @cExtraDetails3
WHERE iId = @original_iId AND
vcDetails = @original_vcDetails AND
cExtraDetails1 = @original_cExtraDetails1 AND
cExtraDetails2 = @original_cExtraDetails2 AND
cExtraDetails3 = @original_cExtraDetails3
END

And the UpdateParameters is

<UpdateParameters>
<asp:parameter Name="vcDetails" Type="String" />
<asp:parameter Name="cExtraDetails1" Type="String" />
<asp:parameter Name="cExtraDetails2" Type="String" />
<asp:parameter Name="cExtraDetails3" Type="String" />
<asp:parameter Name="original_iId" Type="Int32" />
<asp:parameter Name="original_vcDetails" Type="String"
/>
<asp:parameter Name="original_cExtraDetails1"
Type="String" />
<asp:parameter Name="original_cExtraDetails2"
Type="String" />
<asp:parameter Name="original_cExtraDetails3"
Type="String" />
</UpdateParameters>

There is actually no code at all.

Thanks, regards, dnw.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top