@ProvinceName是VARCHAR型变量
SET @SQL = @SQL + '
 A.C_MC_ID
,A.C_MC_Address
,A.C_MC_CIty
,A.C_MC_County
                          ,A.C_MC_CusName
                          ,A.C_MC_BoarNum
                          ,A.C_MC_SeamanNum
                          ,A.C_MC_LInkman
                          ,A.C_MC_LInkTel
                          ,A.C_MC_feedback
FROM Ms_MajCustomer A
WHERE 
(
''' + @KeyValue +''' = ''''
OR
A.C_MC_CusName LIKE +  ''%'  + @KeyValue + '% ''

              and A.C_MC_Province='@ProvinceName'
ORDER BY A.C_MC_ID DESC'
    但是总是提示在A.C_MC_Province附近有错误,应该是引号的问题,大家看这里应该如何修改?谢谢了

解决方案 »

  1.   

    SET @SQL = @SQL + '
             A.C_MC_ID
            ,A.C_MC_Address
            ,A.C_MC_CIty
            ,A.C_MC_County
                              ,A.C_MC_CusName
                              ,A.C_MC_BoarNum
                              ,A.C_MC_SeamanNum
                              ,A.C_MC_LInkman
                              ,A.C_MC_LInkTel
                              ,A.C_MC_feedback
        FROM Ms_MajCustomer A
        WHERE 
        (
            ''' + @KeyValue +''' = ''''
            OR
            A.C_MC_CusName LIKE +  ''%'  + @KeyValue + '% ''
        ) 
                  and A.C_MC_Province='+@ProvinceName+'
        ORDER BY A.C_MC_ID DESC'
      

  2.   

    在关键字 'ORDER' 附近有语法错误。
    SELECT
    A.C_MC_ID
    ,A.C_MC_Address
    ,A.C_MC_CIty
    ,A.C_MC_County
                             ,A.C_MC_CusName
                             ,A.C_MC_BoarNum
                             ,A.C_MC_SeamanNum
                             ,A.C_MC_LInkman
                             ,A.C_MC_LInkTel
                             ,A.C_MC_feedback
    FROM Ms_MajCustomer A
    WHERE 
    (
    '' = ''
    OR
    A.C_MC_CusName LIKE +  '%%' 
    )  AND A.C_MC_Province=
    ORDER BY A.C_MC_ID DESC 
      

  3.   

    WHERE 
    (
    '' = ''
    OR
    A.C_MC_CusName LIKE + '%%' 
    )‘+’ 号干什么用的?
      

  4.   

    A.C_MC_CusName LIKE + '%%' 多了个加号AND A.C_MC_Province= 等号后面没值
      

  5.   

    declare @SQL varchar(8000),@KeyValue varchar(10),@ProvinceName varchar(10)
    set @sql='select '
    set @KeyValue=''
    set @ProvinceName=''SET @SQL = @SQL + '
             A.C_MC_ID
            ,A.C_MC_Address
            ,A.C_MC_CIty
            ,A.C_MC_County
                              ,A.C_MC_CusName
                              ,A.C_MC_BoarNum
                              ,A.C_MC_SeamanNum
                              ,A.C_MC_LInkman
                              ,A.C_MC_LInkTel
                              ,A.C_MC_feedback
        FROM Ms_MajCustomer A
        WHERE 
        (
            ''' + @KeyValue +''' = ''''
            OR
            A.C_MC_CusName LIKE +  ''%'  + @KeyValue + '% ''
        ) 
                  and A.C_MC_Province='''+@ProvinceName+'''
        ORDER BY A.C_MC_ID DESC'print @sql---
    select 
             A.C_MC_ID
            ,A.C_MC_Address
            ,A.C_MC_CIty
            ,A.C_MC_County
                              ,A.C_MC_CusName
                              ,A.C_MC_BoarNum
                              ,A.C_MC_SeamanNum
                              ,A.C_MC_LInkman
                              ,A.C_MC_LInkTel
                              ,A.C_MC_feedback
        FROM Ms_MajCustomer A
        WHERE 
        (
            '' = ''
            OR
            A.C_MC_CusName LIKE +  '%% '
        ) 
                  and A.C_MC_Province=''
        ORDER BY A.C_MC_ID DESC
      

  6.   

    print 出来看看,然后copy出来执行下,就知哪错了
      

  7.   

    很明显SET @SQL = @SQL + '
             A.C_MC_ID
            ,A.C_MC_Address
            ,A.C_MC_CIty
            ,A.C_MC_County
                              ,A.C_MC_CusName
                              ,A.C_MC_BoarNum
                              ,A.C_MC_SeamanNum
                              ,A.C_MC_LInkman
                              ,A.C_MC_LInkTel
                              ,A.C_MC_feedback
        FROM Ms_MajCustomer A
        WHERE 
        (
            ''' + @KeyValue +''' = ''''
            OR
            A.C_MC_CusName LIKE +  ''%'  + @KeyValue + '% ''
        ) 
                  and A.C_MC_Province='+@ProvinceName+'
        ORDER BY A.C_MC_ID DESC'
      

  8.   

     and A.C_MC_Province='+@ProvinceName+'
        ORDER BY A.C_MC_ID DESC'