此存储过程出现错误,因此我尝试将其简化为 right 。由于某些原因,当我根本不使用任何参数时,仍然会收到错误消息,说SP期望有一个参数。
我应该注意,我正在尝试通过ASP中的Telerik RadDataform使其正常工作。可能是Telerik在这里添加了一个秘密参数吗?
这是SP:
ALTER procedure [dbo].[NewEmployee_Update]
as
insert
NewEmployeeDetails
select top 1
NE.FormHeaderID,
NE.VersionNumber + 1,
getdate(), -- AddDate
'vibribbon',
'Bart',
'Simpson',
'El Barto',
'Rascal'
from
OnlineFormHeader H
inner join NewEmployeeDetails NE on NE.FormHeaderID = H.RecID
where
H.RecID = 3
order by
NE.VersionNumber desc
和ASP数据源:
<asp:SqlDataSource ID="dsEmployeeDetails" runat="server" ConnectionString="<%$ ConnectionStrings:OnlineStaffFormsConnectionString %>" InsertCommand="NewEmployee_Insert"
InsertCommandType="StoredProcedure" UpdateCommand="NewEmployee_Update" UpdateCommandType="StoredProcedure" SelectCommand="select top 1
NE.*
from
OnlineFormHeader H
inner join NewEmployeeDetails NE on NE.FormHeaderID = H.RecID
where
H.RecID = @formHeaderID
order by
NE.VersionNumber desc">
<SelectParameters>
<asp:QueryStringParameter Name="formHeaderID" QueryStringField="ID" Type="Int32" />
</SelectParameters>
<InsertParameters>
<asp:SessionParameter Name="currentUser" SessionField="currentUser" />
<asp:Parameter Name="FirstName" Type="String" />
<asp:Parameter Name="LastName" Type="String" />
<asp:Parameter Name="PreferredName" Type="String" />
<asp:Parameter Name="JobTitle" Type="String" />
</InsertParameters>
</asp:SqlDataSource>
</div>
</asp:Content>
答案 0 :(得分:0)
Telerik DataForm似乎自动将要更新的记录的唯一ID添加到参数集中。
在这里可能更引人注目,因为我在欺骗“ update”命令以代替插入。