急救!一个oracle 的存储过程问题 ————在线等
(
pid in varchar2,
sid in varchar2,
distribute in varchar2,
remark in varchar2,
expdate in date
)
is
begin
update tblExploration set expdate=TO_DATE('||expdate||',"YYYY-MM-DD
HH24:MI:ss"),ExpUserID=sid,proid=pid,distribute=distribute,remark=remark where proid=pid;
end sp_editexp;
这样一个存储过程 在asp.net(c#)中调用出现了问题,但是不知道出了什么问题。直接在数据库俩执行是可以的。
我怀疑是to_date () 的问题。
请问一下 这里的to_date使用方法正确吗?
谢谢!
问题点数:100、回复次数:4Top
1 楼zlz_212(ShREk)回复于 2006-03-02 11:40:12 得分 20
TO_DATE(expdate,'YYYY-MM-DD
HH24:MI:ss')Top
2 楼qiaozhiwei(乔)回复于 2006-03-02 13:02:01 得分 40
如果单独执行可以的话?应该是你传的参数有问题,还有你的定义
expdate in date
既然是date,在更新的时候就不需要转换,另外建议把参数名改下,不要和字段名相同,然后执行
update tblExploration set expdate=v_expdate,ExpUserID=sid,proid=pid,distribute=distribute,remark=v_remark where proid=pid;
Top
3 楼genphone_ru(哎,什么都要学,真累)回复于 2006-03-02 14:54:27 得分 40
1、传入的参数就是date类型,做update时,不需要to_date,如果表中为varchar2时,使用to_char
2、参数和表的列名不要同名Top
4 楼arthur_su(JJ)回复于 2006-03-02 17:13:23 得分 0
to_date为什么要加||?
2楼的to_date的用法是正确的~Top




