(
pid in varchar2,
sid in varchar2,
distribute in varchar2,
re 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,re=re where proid=pid;
end sp_editexp;
这样一个存储过程 在asp.net(c#)中调用出现了问题,但是不知道出了什么问题。直接在数据库俩执行是可以的。
我怀疑是to_date () 的问题。
请问一下 这里的to_date使用方法正确吗?
谢谢!

解决方案 »

  1.   

    TO_DATE(expdate,'YYYY-MM-DD HH24:MI:ss')
      

  2.   

    如果单独执行可以的话?应该是你传的参数有问题,还有你的定义
    expdate in date
    既然是date,在更新的时候就不需要转换,另外建议把参数名改下,不要和字段名相同,然后执行
    update tblExploration set expdate=v_expdate,ExpUserID=sid,proid=pid,distribute=distribute,re=v_re where proid=pid;
      

  3.   

    1、传入的参数就是date类型,做update时,不需要to_date,如果表中为varchar2时,使用to_char
    2、参数和表的列名不要同名
      

  4.   

    to_date为什么要加||?
    2楼的to_date的用法是正确的~