存储过程:
CREATE PROCEDURE SP_TJCount ----计算@NUnit char(10),
@DPay Datetime,
@SCount Char(10) OUTPUT,
@DYLCount char(10) OUTPUT,
@DYNCount char(10) OUTPUT,
@DSYCount char(10) OUTPUT,
@DGSCount char(10) OUTPUT,
@DNGCount char(10) OUTPUT,
@DGZJCount char(10) OUTPUT,
@DDLCount char(10) OUTPUT,
@DQTCount char(10) OUTPUT,
@GYLCount char(10) OUTPUT,
@GSYCount char(10) OUTPUT,
@GDBCount char(10) OUTPUT,
@GGZJCount char(10) OUTPUT,
@GQTCount char(10) OUTPUTAs(Select @SCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay)
(Select @DYLCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USYL>0)
(Select @DYNCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USYN>0)
(Select @DSYCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USSY>0)
(Select @DGSCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USGS>0)
(Select @DNGCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USNG>0)
(Select @DGZJCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USGZJ>0)
(Select @DDLCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USDL>0)
(Select @DQTCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USQT>0)
(Select @GYLCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and GYL>0)
(Select @GSYCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and GSY>0)
(Select @GDBCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and GDB>0)
(Select @GGZJCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and GGZJ>0)
(Select @GQTCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and GQT>0)
GO调用过程:
var
CDYL:String;
begin
with Datam.ADOStoredProc1 do
begin
close;
ProcedureName:='SP_TJCount';// 存储过程名
Parameters.Refresh();//刷新参数列表
Parameters.ParamByName('@NUnit').Value:='D001';
Parameters.ParamByName('@DPay').Value:='2003-10-1';
//Parameters.ParamByName('@NUnit').Value:=trim(EUNAgent.Text);
//Parameters.ParamByName('@DPay').Value:=''+Formatdatetime('yyyy-mm-1',DPDPay.Date)+'';
try
//ExecProc();
OPen;//执行
CDYL:=ParamByName('SCount').Value;
//CDYN:=Parameters.ParamByName('DYNCount').Value;
Finally
close;
end;
end;
end;现在我只试一个@SCount这个参数,,老提示我没这个参数!!请各位帮助!
CREATE PROCEDURE SP_TJCount ----计算@NUnit char(10),
@DPay Datetime,
@SCount Char(10) OUTPUT,
@DYLCount char(10) OUTPUT,
@DYNCount char(10) OUTPUT,
@DSYCount char(10) OUTPUT,
@DGSCount char(10) OUTPUT,
@DNGCount char(10) OUTPUT,
@DGZJCount char(10) OUTPUT,
@DDLCount char(10) OUTPUT,
@DQTCount char(10) OUTPUT,
@GYLCount char(10) OUTPUT,
@GSYCount char(10) OUTPUT,
@GDBCount char(10) OUTPUT,
@GGZJCount char(10) OUTPUT,
@GQTCount char(10) OUTPUTAs(Select @SCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay)
(Select @DYLCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USYL>0)
(Select @DYNCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USYN>0)
(Select @DSYCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USSY>0)
(Select @DGSCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USGS>0)
(Select @DNGCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USNG>0)
(Select @DGZJCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USGZJ>0)
(Select @DDLCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USDL>0)
(Select @DQTCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and USQT>0)
(Select @GYLCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and GYL>0)
(Select @GSYCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and GSY>0)
(Select @GDBCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and GDB>0)
(Select @GGZJCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and GGZJ>0)
(Select @GQTCount=Count(*) from VCFinance where NUnit=@NUnit and DPay=@DPay and GQT>0)
GO调用过程:
var
CDYL:String;
begin
with Datam.ADOStoredProc1 do
begin
close;
ProcedureName:='SP_TJCount';// 存储过程名
Parameters.Refresh();//刷新参数列表
Parameters.ParamByName('@NUnit').Value:='D001';
Parameters.ParamByName('@DPay').Value:='2003-10-1';
//Parameters.ParamByName('@NUnit').Value:=trim(EUNAgent.Text);
//Parameters.ParamByName('@DPay').Value:=''+Formatdatetime('yyyy-mm-1',DPDPay.Date)+'';
try
//ExecProc();
OPen;//执行
CDYL:=ParamByName('SCount').Value;
//CDYN:=Parameters.ParamByName('DYNCount').Value;
Finally
close;
end;
end;
end;现在我只试一个@SCount这个参数,,老提示我没这个参数!!请各位帮助!
解决方案 »
- 有一个字符串长度不够10位,只有5位,我要在该字符串后面加空格补齐,该如何实现,有没有函数可以实现?
- 如何实现dbgrid中用shift键进行多行选中?
- ehlib的问题,下拉列表
- delphi里有没有label1(i)这样的数组形式吗?急!!!!!!
- 数据汇总
- 在下写的一个绚丽多彩的3D花篮,现在公布源代码,希望和大家共同切磋交流:)
- 点击dbgrid中相应的行,在一个文本框中相应的显示出相应的行中某个列的值,如何写程序
- 数据库开发——你是用PB,还是DELPHI??????
- 谁做过优盘的编程?10倍分数酬谢
- 点击后,怎么将该行设为选择的行,怎样得到该行的某字段的值?
- 很奇怪的Update的问题,怎么这个地方无法修改,对于各位可能是小问题
- 如何将excel表中的数据,取出来,导入到SQL Server 2000数据库中去!
Parameters.Refresh();//刷新参数列表
Parameters.ParamByName('@NUnit').Value:='D001';
Parameters.ParamByName('@DPay').Value:='2003-10-1';
//Parameters.ParamByName('@NUnit').Value:=trim(EUNAgent.Text);
//Parameters.ParamByName('@DPay').Value:=''+Formatdatetime('yyyy-mm-1',DPDPay.Date)+'';
try
//ExecProc();
干吗你要反复赋值???????
CDYL:=ParamByName('@SCount').Value;