如题,运行半年的存储过程突然提示"字符串转换成datatime时出错........"
调用过程如下:
dm.spSear.Active := false;
dm.spSear.ProcedureName := 'sp_Sear;
dm.spSear.Parameters.Refresh;
dm.spSear.Parameters[1].Value := trim(edit1.Text);
dm.spSear.Parameters[2].Value := DP1.Date;
dm.spSear.Parameters[3].Value := DP2.Date;
dm.spSear.Parameters[4].Value := TeThemePageControl1.ActivePageIndex + 1;
dm.spSear.ExecProc;
dm.spSear.Active := true;
经检验存储过程书写完全没问题,就是在调用的时候两个日期型的参数传入空值数据(注:DP1,DP2为日期型控件),不知道为什么以前为什么一直好好的,突然出现这种问题,我该怎么解决。
调用过程如下:
dm.spSear.Active := false;
dm.spSear.ProcedureName := 'sp_Sear;
dm.spSear.Parameters.Refresh;
dm.spSear.Parameters[1].Value := trim(edit1.Text);
dm.spSear.Parameters[2].Value := DP1.Date;
dm.spSear.Parameters[3].Value := DP2.Date;
dm.spSear.Parameters[4].Value := TeThemePageControl1.ActivePageIndex + 1;
dm.spSear.ExecProc;
dm.spSear.Active := true;
经检验存储过程书写完全没问题,就是在调用的时候两个日期型的参数传入空值数据(注:DP1,DP2为日期型控件),不知道为什么以前为什么一直好好的,突然出现这种问题,我该怎么解决。
解决方案 »
- delphi 2010 与 delphi 7编译的后,EDIT限制的结果不一样,因为UNICODE,编译器到底做了什么会是EDIT长度不一样
- 怎样在 Combobox 类的组件的 即将释放时有组件本身 将其Items 保存到一个文件中 ???
- 想要一个版本控制的系统,不知道谁有,如果是有中文的最好,或者介绍几款也行。
- 谁有indy的idftpserver的demo?100分送上!
- 好高兴喔!昨天在成都喜来登酒店听了李维的一个讲座,关于.Net程序和Win32程序互相调用的专题
- 高分求:用 Tmediaplayer连续播放!!
- Midas中使用COM接口问题
- dbgrid导出excel文件中,怎么控制excel文件的字体居中!!
- 版主,zswang,我刚看了My_first (海浪) 的几个贴子,给的什么分?我没搞懂?
- 几个小问题,不需劳驾高手的
- 关于treeview
- dll问题
这样:
ADOQuery.close;
ADOQuery.sql.clear;
ADOQuery.sql.text:=''sp_Sear '''+trim(edit1.Text)+''','''+DateTimeToStr(DP1.Date)+''','''+DateTimeToStr(DP2.Date)+'''+另一参数+';
ADOQuery.open;
这样
ADOQuery.close;
ADOQuery.sql.clear;
ADOQuery.sql.text:= 'sp_Sear '''+trim(edit1.Text)+''','''+DateTimeToStr(DP1.Date)+''','''+DateTimeToStr(DP2.Date)+'''+另一参数+';
ADOQuery.open;
我调用存储过程一直都用ADOQuery的,一直都这样用啊
dm.spSear.Parameters[3].Value := DP2.Date;
改成 dm.spSear.Parameters[2].Value := Datetostr(DP1.Date);
dm.spSear.Parameters[3].Value := Datetostr(DP2.Date);
ADOQuery.sql.clear;
ADOQuery.sql.text:= 'sp_Sear '''+trim(edit1.Text)+''','''+DateTimeToStr(DP1.Date)+''','''+DateTimeToStr(DP2.Date)+'''+另一参数+';
ADOQuery.open;
还是提示日期格式错误,转换成日期还是一样,根本就没值传到过程中去,就像是这个存储自己关闭了一样.
在SQL查询平台,输入参数又能执行.