使用ADOStoredProc控件调用下面这个存储过程:
CREATE PROCEDURE Sub_tbPdmPlanNum
@WorkGroupCode VarChar(50),
@PlanEndDate DateTime,
@SumNum Real OutPut
AS
select
@SumNum=Sum(PlanNum)
from tbPdm
where WorkGroupCode=@WorkGroupCode and PlanEndDate=@PlanEndDate
GO调用程序如下:
ASSum.Parameters.Refresh;
ASSum.Parameters.ParamByName('@WorkGroupCode').Value:=WorkGroupCode;
ASSum.Parameters.ParamByName('@PlanEndDate').Value:=EndDate;
ASSum.Parameters.ParamByName('@SumNum').Value:=0;
ASSum.ExecProc;
i:=ASSum.parameters.ParamByName('@SumNum').value;但是当存储过程的求和结果为空值时(select结果为空),则程序运行出错,提示说类型转换错误,不知道怎样处理,请高手指点:
CREATE PROCEDURE Sub_tbPdmPlanNum
@WorkGroupCode VarChar(50),
@PlanEndDate DateTime,
@SumNum Real OutPut
AS
select
@SumNum=Sum(PlanNum)
from tbPdm
where WorkGroupCode=@WorkGroupCode and PlanEndDate=@PlanEndDate
GO调用程序如下:
ASSum.Parameters.Refresh;
ASSum.Parameters.ParamByName('@WorkGroupCode').Value:=WorkGroupCode;
ASSum.Parameters.ParamByName('@PlanEndDate').Value:=EndDate;
ASSum.Parameters.ParamByName('@SumNum').Value:=0;
ASSum.ExecProc;
i:=ASSum.parameters.ParamByName('@SumNum').value;但是当存储过程的求和结果为空值时(select结果为空),则程序运行出错,提示说类型转换错误,不知道怎样处理,请高手指点:
解决方案 »
- delphi xe 不支持这种写法
- OLE方法导出数据到Excel过程,打开其Excel文件的问题。
- 当按下"记事本"上面最小化按钮之前,出一个提示对话框?
- 一个有关Socket的问题(delphi5->delphi7的)
- 刚刚入门,简单的SQL查询问题,帮我啊!
- jackie168(玉面書生) 先进来拿分!③
- PostMessage(句柄, WM_MYMESSAGE, Integer(PChar('StrMyString')), 0);消息如何读出来?
- 有关DLL中调出来的FORM 的图标的问题。---如何使调出来的FORN跟主调的程序的图标一致?
- 怎样给窗体设置一个背景图片?
- 怎样实现类似OUTLOOK EXPRESS中接收或发送邮件列表的功能?
- 这是将EXCEL导入SQLSEVER的代码,但我有一些问题,试了多次都没有解决。希望会的朋友帮我看看。
- 小问题:远程桌面数据库访问原理?
CREATE PROCEDURE Sub_tbPdmPlanNum
@WorkGroupCode VarChar(50),
@PlanEndDate DateTime,
@SumNum Real OutPut
AS
select
@SumNum=Case when Sum(PlanNum) is null then 0 else Sum(PlanNum) end
from tbPdm
where WorkGroupCode=@WorkGroupCode and PlanEndDate=@PlanEndDate
GO
ASSum.Parameters.ParamByName('@WorkGroupCode').Value:=WorkGroupCode;
ASSum.Parameters.ParamByName('@PlanEndDate').Value:=EndDate;
ASSum.Parameters.ParamByName('@SumNum').Value:=0;
ASSum.ExecProc;
i:=ASSum.parameters.ParamByName('@SumNum').value;//是这句出错。
加TRY 就可以了
奇怪,我在给分的时候怎么老是说回复次数大于跟贴次数呢,昏,给分都给不出