存储过程:
CREATE procedure GetSomeSearch (@Year int,@Month int , @Comb varchar) as
begin
SELECT T1.Name, T1.zzlx,T1.Unit, T1.LastYearCurMonth, T1.LastYearToMonth,
T1.YearCurMonth, T1.YearToMonth, T1.PerValue FROM dbo.GetSearch(@Year, @Month, @Comb ) T1
end
GO
这个表的字段是,名称,类型,单位,去年本月数,去年累计数,今年本月数,今年累计数,百分比,我想通过时间(年月)和类型查询(在程序中用控件ComboBox)老是出现没有定义参数 @Comb这样错误,
CREATE procedure GetSomeSearch (@Year int,@Month int , @Comb varchar) as
begin
SELECT T1.Name, T1.zzlx,T1.Unit, T1.LastYearCurMonth, T1.LastYearToMonth,
T1.YearCurMonth, T1.YearToMonth, T1.PerValue FROM dbo.GetSearch(@Year, @Month, @Comb ) T1
end
GO
这个表的字段是,名称,类型,单位,去年本月数,去年累计数,今年本月数,今年累计数,百分比,我想通过时间(年月)和类型查询(在程序中用控件ComboBox)老是出现没有定义参数 @Comb这样错误,
returns @TmTable Table
(
Name varchar(50),
zzlx varchar(50),
unit varchar(50), LastYearCurMonth numeric,
LastYearToMonth numeric,
YearCurMonth numeric,
YearToMonth numeric,
PerValue numeric
)
as
begin
Declare @LastYear int
Set @LastYear = @Year - 1
Insert @TmTable
Select T1.Name, T1.zzlx ,T1.unit,T1.Value, T2.Value, T3.Value, T4.Value, case T2.Value when 0 then 0 else IsNull((T4.Value - T2.Value)*100/T2.Value, 0) end from
(SELECT Name,zzlx ,unit,Value FROM GetToal(@LastYear, @Month, @Month,@Comb)) T1,
(SELECT Name,zzlx , unit,Value FROM GetToal(@LastYear, 1, @Month,@Comb)) T2,
(SELECT Name, zzlx ,unit, Value FROM GetToal(@Year, @Month, @Month,@Comb)) T3,
(SELECT Name,zzlx ,unit,Value FROM GetToal(@Year, 1, @Month,@Comb)) T4
where T1.Name = T2.Name and T1.Name = T3.Name and T1.Name = T4.Name and T1.zzlx = T2.zzlx and T1.zzlx = T3.zzlx and T1.zzlx = T4.zzlx and T1.unit = T2.unit and T1.unit = T3.unit and T1.unit = T4.unit
return end //这个是字定义函数
returns
@TmTable Table
(
Name varchar(50),
zzlx varchar(50),
unit varchar(50),
Value numeric)
as
begin
insert @TmTable
Select XmName ,zz_lx, XmUnit, IsNull(Sum(Quantity),0) from Crk_sl where Year(XmDate) = @Year and Month(XmDate) >= @BeginMonth and Month(XmDate) <= @EndMonth and zz_lx = @Comb
group by all XmName ,XmUnit,zz_lx
return
end
var
varcomb: string;
mDate: TDateTime;
mYear, mMonth, mDay:word;
begin
mDate := DateTimePicker1.DateTime;
varComb:=ComboBox1.text;
decodedate(mDate, mYear, mMonth, mDay);
ADOQuery1.SQL.Add('Exec GetSomeSearch ' + FloattoStr(mYear) + ',' + FloattoStr(mMonth));