SQL语句如下:SELECT DISTINCT 表1.pd_no
FROM 表1
WHERE 表1.sp_no like '0251601*'为了测试这条语句,我新建了一个最简单的程序。
结果得出来的是空集。然而把它复制到ACCESS里面去执行,得到的却是我希望的结果2次执行的时候,我一个字都没有改。

解决方案 »

  1.   

    在ACCESS中得到是一个非空结果集。
      

  2.   

    SELECT DISTINCT pd_no
    FROM 表1
    WHERE sp_no like '0251601*' ////试一下
      

  3.   

    SELECT DISTINCT pd_no
    FROM 表1
    WHERE sp_no like '0251601%'
      

  4.   

    我靠!我真是服了delphi了。
    原来在delphi中要用%代替*
    但是access中不能用%,而是用*在delphi中改成SELECT DISTINCT 表1.pd_no
    FROM 表1
    WHERE 表1.sp_no like '0251601%'就完全可以了。但是如果在access中用SELECT DISTINCT 表1.pd_no
    FROM 表1
    WHERE 表1.sp_no like '0251601%'则是完全错误的。真是变态啊。
      

  5.   

    不可能~~帖全你的代码吧是不是query没有open阿?
      

  6.   

    你说的ACCESS是2000还是97??我这里用%和*都没有问题
      

  7.   

    楼主呀,sql server也是用%的
      

  8.   

    同志们,问题已经解决。
    我用ACCESS2000现象确实如我所说,解决方法就是flyingsnowfox所说的。
    但是在access2000中也确实不能用%大家可以讨论一下,让我长长见识
      

  9.   

    % *的功能在access中刚好与delphi中相反