Я пытаюсь использовать хранимую процедуру для вставки записи с использованием detailsview и sqldatasource. Я получаю следующую ошибку:asp.net - sqldatasource - detailsview - использовать хранимую процедуру для вставки записи
Процедура или функция 'CustRec_iu' ожидает параметра '@firstname', который не был предоставлен.
Мое определение DetailsView выглядит следующим образом:
<asp:DetailsView ID="dvCustDetails1" runat="server" AutoGenerateRows="False"
DataSourceID="SqlDataSource1" Height="149px" Width="469px">
<Fields>
<asp:BoundField DataField="FirstName" HeaderText="First Name"
SortExpression="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="Last Name"
SortExpression="LastName" />
<asp:CommandField ButtonType="Button" ShowInsertButton="True" />
</Fields>
</asp:DetailsView>
В коде позади, PageLoad выглядит следующим образом:
SqlDataSource1.ConnectionString = Connection.ConnectionStr;
//SqlDataSource1.InsertCommand = "INSERT INTO [customer] (firstname,lastname,active) values(@firstname,@lastname,@active)";
SqlDataSource1.SelectCommand = "select firstname,lastname from customer";
//SqlDataSource1.SelectCommand = "CustRec";
SqlDataSource1.InsertCommand = "CustRec_iu";
SqlDataSource1.InsertParameters.Clear();
SqlDataSource1.InsertParameters.Add(new Parameter("firstname", DbType.String));
SqlDataSource1.InsertParameters.Add(new Parameter("LastName", DbType.String));
SqlDataSource1.InsertParameters.Add(new Parameter("Active",DbType.Int16,"1"));
Обратите внимание, что если я использую закомментирована инлайн заявление затем вкладыша работы.
Моя ХП выглядит следующим образом:
ALTER PROCEDURE dbo.CustRec_iu
(
@custid int = null,
@firstname varchar(100),
@lastname varchar(100),
@Active bit = 1
)
AS
if (isnull(@custid,0) = 0)
begin
insert into customer
(firstname,lastname,Active)
values
(@firstname,@lastname,@Active)
end
else
begin
update customer
set
[email protected],
lastname= @lastname,
active = @Active
where
custid = @custid
end
/* SET NOCOUNT ON */
RETURN
То, что я не понимаю, как входной параметр взаимодействует между SqlDataSource, DetailsView и т.д. Как это работает с insline заявление, а не работать с записанными прок? Как работает sql datasource и detailsview с точки зрения событий? Google search and print book Профессиональный asp.net 3.5 в C# и VB не очень помогает.
Заранее благодарю за мой вопрос.
это сработало ... большое спасибо ... –
Хорошая сделка. Пожалуйста –