я хранимой процедуры в БД, что принятый 4 parameters.when я назвать эту процедуру из SqlDataSource и передать его параметры с помощью мастера SqlDataSource я получаю следующую ошибкупроцедура ожидает, что параметр, который не подавалась ошибки
ERROR [42000 ] [Microsoft] [ODBC SQL Server Driver] [SQL Server] Процедура или функция 'director_proc' ожидает параметра '@Department', который не был указан.
ниже код SqlDataSource тегов и хранимая процедура
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
SelectCommand="director_proc" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:ControlParameter ControlID="ASPxComboBox1" DbType="String"
DefaultValue="Enterprise solution" Name="Department" PropertyName="Value"
Type="String" />
<asp:ControlParameter ControlID="ASPxComboBox2" DbType="String"
DefaultValue="Enterprise operations" Name="Section" PropertyName="Value"
Type="String" />
<asp:ControlParameter ControlID="MonthEdit1" DbType="Int16" DefaultValue="7"
Name="Month" PropertyName="Month" Type="Decimal" />
<asp:ControlParameter ControlID="ASPxComboBox3" DbType="Int16"
DefaultValue="2013" Name="Year" PropertyName="Value" Type="Decimal" />
</SelectParameters>
</asp:SqlDataSource>
хранимая процедура
USE [AccessmgmtDB]
GO
/****** Object: StoredProcedure [dbo].[director_proc] Script Date: 10/08/2013 14:22:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[director_proc]
-- Add the parameters for the stored procedure here
@Department nchar(50),
@Section nchar(50),
@Month numeric,
@Year numeric
AS
BEGIN
if(@Section is null)
SELECT SSNO ,Full_Name,152.5 [Working Hours],sum(diff) Actual_Hours,MONTH(date) as month,Year(date) Year
,(case when 152.5-sum([diff])<0 then 0 else 152.5-sum([diff])end) as [Missing Hours]
,(case when 152.5-sum([diff])<0 then 0 else (152.5-sum([diff]))/8.5 end) as [wanted days]
,section
FROM attendance2
where [email protected] and MONTH (date)[email protected] and Year(date)[email protected]
group by SSNO,Full_Name,section,MONTH(date),Year(date) order by full_name;
else
SELECT SSNO ,Full_Name,152.5 [Working Hours],sum(diff) Actual_Hours,MONTH(date) as month,Year(date) Year
,(case when 152.5-sum([diff])<0 then 0 else 152.5-sum([diff])end) as [Missing Hours]
,(case when 152.5-sum([diff])<0 then 0 else (152.5-sum([diff]))/8.5 end) as [wanted days]
,section
FROM attendance2
where [email protected] and MONTH (date)[email protected] and Year(date)[email protected] and [email protected]
group by SSNO,Full_Name,section,MONTH(date),Year(date) order by full_name;
END
У вас есть эта работа на другой странице? Когда SQLDatasource пытается извлечь данные? – Michael
Q1: нет, эта первая страница для использования этой процедуры Q2: yes –
Ну, я имею в виду, вы используете SQLDatasource на другой странице, включая любые другие хранимые процедуры, которые вы могли бы назвать. И «да» - это не то время, когда. После какого события SQLDatasource вызывает хранимую процедуру? – Michael