FilterString是一个字符串,如FilterString='12',则该看成digit='12'

解决方案 »

  1.   

    现在能否执行?
    若不行,试:
    SqlStr := ' Select Info,anaend,digit,CallType From r_dnal where'+
                    ' digit=' + FilterString +
                    ' and anaend<>'+IntToStr( R_DNAL_END_GOON )+' and   entrance='+IntToStr(Entrance)+ ' and last>0';
      

  2.   

    本应该是digit='FilterString' 但是sql里不好区分所以外用单的里用双的
      

  3.   

    select ''''
    select ''''''
    select char(39)它是起转义的意思
      

  4.   

    '''' + FilterString + ''''  执行时就是 'FilterString '
      

  5.   

    SqlStr := ' Select Info,anaend,digit,CallType From r_dnal where digit=''' + FilterString + ''' and anaend<>'''+IntToStr( R_DNAL_END_GOON )+''' and   entrance='''+IntToStr(Entrance)+ ''' and last>0';
      

  6.   

    ''''通俗一点是表示单引号可以用char(39)
      

  7.   

    语句是可以顺利执行的。  
      
    是不是就可以理解为和‘digit' + FilterString一样呢
      

  8.   

    那digit='FilterString' 怎么会相等呢,类型不一样阿
      

  9.   

    digit是字符行.
     digit=' + '"' + FilterString + '"' 
    真正的语句应当如此.
    单引号中是一个双引号
    得到的SQL应如下
    digit="XXXXXXXX"
    明白了吧!