У меня есть FormView, у которого есть режим по умолчанию, установленный на «insert». В форме, в которой пользователь вводит данные, имеется множество элементов управления. Как только я нажимаю кнопку вставки, я получаю эту ошибку: процедура или функция sp_fc_vm_insertDebtorContact указано слишком много аргументовВставить в БД с помощью хранимой процедуры
Я уверен, что хранимая процедура верна, поэтому мне интересно, является ли это моим кодом. Вот код SqlDataSource:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:AuditDevConnectionString2 %>" InsertCommand="sp_fc_vm_insertDebtorContact" InsertCommandType="StoredProcedure" SelectCommand="sp_fc_vm_insertDebtorContact" SelectCommandType="StoredProcedure" > <InsertParameters> <asp:QueryStringParameter DefaultValue="0" Name="DebtorKey" QueryStringField="DebtorKey" Type="Int32" /> <asp:Parameter Name="LastName" /> <asp:Parameter Name="FirstName" /> <asp:Parameter Name="Title" /> <asp:Parameter Name="Authority" DefaultValue="0" /> <asp:Parameter Name="Extension" /> <asp:Parameter Name="Email" /> <asp:Parameter Name="Comments" /> <asp:Parameter Name="Phone" /> <asp:Parameter Name="Attention" DefaultValue="0" /> <asp:Parameter Name="Fax" /> <asp:Parameter Name="Ownership" DefaultValue="0" /> <asp:Parameter Name="Guarantor" DefaultValue="0" /> <asp:Parameter Name="Notices" DefaultValue="0" /> <asp:Parameter Name="Addr1" /> <asp:Parameter Name="Addr2" /> <asp:Parameter Name="City" /> <asp:Parameter Name="State" /> <asp:Parameter Name="ZipCode" /> <asp:Parameter Name="CellPhone" /> <asp:Parameter Name="Country" /> </InsertParameters> </asp:SqlDataSource>
Здесь хранимая процедура -
ALTER proc [dbo].[sp_fc_vm_insertDebtorContact] (@DebtorKey int, @LastName varchar(50),
@FirstName varchar(20), @Title nvarchar(30), @Authority bit, @Extension nvarchar(10), @Email nvarchar(50),
@Comments ntext, @Phone nvarchar(20), @Attention bit, @Fax nvarchar(20), @Ownership money, @Guarantor bit,
@Notices bit, @Addr1 nvarchar(30), @Addr2 nvarchar(30), @City nvarchar(30), @State nvarchar(30),
@ZipCode nvarchar(10), @CellPhone varchar(20), @Country nvarchar(30))
AS
INSERT INTO [FSDev].dbo.Contacts (ClientKey, DebtorKey, lastname, NameKey, firstname, title, authority, extention,
Email, Notes, Phone, attention, Fax, brokerskey, inactive, [ownership], guarantor, notices, addr1, addr2,
city, [state], zipcode, cellphone, country)
VALUES (0, @DebtorKey, @LastName, LEFT(UPPER(@FirstName)+UPPER(@LastName),20), @FirstName, @Title, @Authority,
@Extension, @Email, @Comments, @Phone, @Attention, @Fax, 0, 0, @Ownership, @Guarantor, 0, @Addr1, @Addr2,
@City, @State, @ZipCode, @CellPhone, @country)
Хранимая процедура отлично работает в SQL, так что я думаю, что я делаю что-то неправильно.
Не могу сказать, если это правильно, основываясь только на разметке. Можете ли вы также разместить хотя бы часть декларации хранимой процедуры (где аргументы определены)? – RickNZ
@RickNZ Я опубликовал хранимую процедуру. Можете ли вы взглянуть и сообщить мне, можете ли вы увидеть проблему? – Craig