delphi2010下使用TMyQuery调用mysql的存储过程传时间参数的问题 50

1、MySQL的存储过程定义为:BEGINSELECT*FROM(select派单时间,派单人,流水号,车辆单位,车牌号码,cast(GPS北斗维修派单asDECIMAL... 1、MySQL的存储过程定义为:BEGINSELECT * FROM(select 派单时间,派单人,流水号,车辆单位,车牌号码,cast(GPS北斗维修派单 as DECIMAL) as GPS北斗维修派单from all_inWHERE 派单时间BETWEEN strBeginTime AND strEndTimeORDER BY 派单时间 DESC)t3union allSELECT * FROM(selectcast('合计' as CHAR) as 派单时间,cast('' as CHAR) as 派单人,cast('' as CHAR) as 流水号,cast('' as CHAR) as 车辆单位,cast('' as CHAR) as 车牌号码,sum(GPS北斗维修派单)from all_inWHERE 派单时间BETWEEN strBeginTime AND strEndTimeORDER BY 派单时间 DESC)t4;END2、存储过程的参数定义为:in strBeginTime varchar(20),in strEndTime varchar(20)3、delphi代码中的调用,是通过TMyQuery调用的,代码如下:with myqry13 dobeginClose;SQL.Clear;SQL.Add('call p_allSend(:strBegin, :strEnd)');Params.CreateParam(ftDateTime,'strBegin',ptInput);Params.CreateParam(ftDateTime,'strEnd',ptInput);Params[0].Value := StrToDateTime(StrBeginTime);Params[1].Value := StrToDateTime(strEndTime);ShowMessage('3');Open;ShowMessage('4');Active;end;其中时间是从datepicker上获得并经过变换得来的datetime值。strBeginTime := DateTimeToStr(trunc(dtp1.DateTime)) + ' 0:00:00';strEndTime := DateTimeToStr(trunc(dtp2.DateTime)) + ' 23:59:59';4、错误显示为showmessage(3)以后,就报错,截图如下:到不了showmessage(4)。谁能告诉我为什么StrToDateTime没有起到把string转换为datetime的作用?
网页链接
展开
 我来答
腾讯电脑管家
2018-09-20 · 百度知道官方认证企业
腾讯电脑管家
腾讯电脑管家是腾讯公司推出的免费安全管理软件,能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难杂症”、优化系统和网络环境,是中国综合能力最强、最稳定的安全软件。
向TA提问
展开全部
MySQL的存储过程定义为:
BEGIN
SELECT * FROM(select 派单时间,派单人,流水号,车辆单位,车牌号码,cast(GPS北斗维修派单 as DECIMAL) as GPS北斗维修派单
from all_in
WHERE 派单时间 BETWEEN strBeginTime AND strEndTime ORDER BY 派单时间 DESC)t3
union all
SELECT * FROM(selectcast('合计' as CHAR) as 派单时间,cast('' as CHAR) as 派单人,cast('' as CHAR) as 流水号,cast('' as CHAR) as 车辆单位,cast('' as CHAR) as 车牌号码,sum(GPS北斗维修派单)
from all_in
WHERE 派单时间 BETWEEN strBeginTime AND strEndTime ORDER BY 派单时间 DESC)t4;
END
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式