问题一:我的SQL语句在SQL的企业管理器中执行就完全正确,可是在DELHI中执行就报错,错误信息为‘LLLEGAL character in inputfile :'%'($25).
SQL 语句出错部分为’where  patindex('%'+字段名1+'%',字段名2)>0.  为什么在企业管理器中执行就正确在DELHPI中执行就错误,如何解决错误??
问题二:数据表的字段中值的格式为‘2001‘,就是LEN等于4,我执行select '%'+字段名+'%' as expr1,结果总是显示%2001  %,就是2001后面总是多了俩个空格,如何才可以不显示空格/???

解决方案 »

  1.   

    对字段名 加个trim去一下空格看呢
      

  2.   

    第一个问题:改成:where patindex (''%'' + 字段名1 + ''%'', 字段名2) > 0 第二个问题:如果你知道Len=4,改成:select ''%'' + Left(字段名, 4) + ''%'' as exprl试试看!
      

  3.   

    sw := 'where  patindex(''%' + s1 + '%'', s2) > 0';SELECT '%' + RTRIM(LTRIM(STUFFID)) + '%' AS Expr1
      

  4.   

    第一个问题:你在sql查询分析器中执行正确,在delphi中执行不正确,你可以用showMesage(你的queyr.sql.text);来看一看到底哪与你在查询分析器中不一样,是不是多个分号或空格类的。
    第二个问题是你的数据库中字段值设的比4大,可以用Rtrim来搞定。
    没什么好说的了。
      

  5.   

    第一个问题:showMesage(sql.text);