string sqlText = "insert into  dcm_promptcase (fn_caseid,fd_date,fn_empcode,fc_re) values (" + caseId + ",to_date('" + time + "','YYYY-MM-DD'),'" + empcode + "','" + re + "')"; 
ORA-01756: 引号内的字符串没有正确结束
这里 caseId是个int型 其他都是string型

解决方案 »

  1.   

    可能是这个的问题 to_date('" + time + "','YYYY-MM-DD')
      

  2.   

    没看出。可以改用参数化SQL写,不容易出错。
      

  3.   

    CONVERT(varchar(10), GETDATE(), 120) 这个是把日期格式转换成yyyy-MM-dd
      

  4.   

    好像 sql 没有错  运行的时候没有更新到我改后的代码  运行的是改前错误的代码  额  继续求怎么破
      

  5.   

    to_date('" + time + "','YYYY-MM-DD') 这句有错 time不应该是string 类型 还是应该是时间
      

  6.   

    debug一下拼接的语句,在sql中执行看看。
      

  7.   

    你该不会是不懂调试吧????
    简单的sql语法错误,一个断点监视一下sql字符串就搞定了
      

  8.   

    对啊,简单的SQL错误提示你高度一下粘贴到pl/sql中运行看看不就知道了,具体错误在哪里它会告诉你的.
      

  9.   

    既然都是string 
    to_date('" + time + "','YYYY-MM-DD') 这个为什么还要转成 日期型呢
      

  10.   

    把sql语句输出来,在查询分析器中去执行下看看
      

  11.   

    to_date('" + time + "','YYYY-MM-DD'),
    SQL里有这个to_date函数?
      

  12.   

    无论mssql还oracle都提供监视功能滴,你运行并监视当前真在执行的sql语句即可当然如果是vs2008以上,你下好断点,会有IntelliTrace智能跟踪调试器,你在这个里面看一下具体执行出来的sql到底是啥就ok了
      

  13.   

    oracle最好参数化,里面时间类型的先在代码里面转化,然后传参
      

  14.   

    在plsql里运行成功了  估计是项目运行时出错了  一直运行修改之前的版本  我重新弄一个项目看看如何
      

  15.   

    DB2 中也有to_date(),楼主写的sql存在注入的危险。
      

  16.   

    把ping好的sql拿出到pl/sql一运行不就知道了