FIX: Error 11 (Function argument invalid) w/ SQL SELECT 'LIKE'

ID: Q221650


The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, versions 5.0, 5.0a, 6.0


SYMPTOMS

You have program code that uses a SQL SELECT statement. The SELECT uses the LIKE syntax to evaluate the result of a function. If the LIKE value is compared to an indexed field, you will see the following error when the SELECT is executed:

Function argument value, type, or count is invalid.


STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.

This bug was corrected in Visual Studio 6.0 Service Pack 3.

For more information about Visual Studio service packs, please see the following articles in the Microsoft Knowledge Base:

Q194022 INFO: Visual Studio 6.0 Service Packs, What, Where, Why

Q194295 HOWTO: Tell That Visual Studio 6.0 Service Packs Are Installed


MORE INFORMATION

Steps to Reproduce Behavior

  1. Run the following code from a program (.PRG) file:


  2. 
    CLOSE DATA ALL
    CREATE TABLE mbtest (prodcd c(4), PibCD c(4))
    INDEX ON PibCD TAG PibCD
    INSERT INTO mbtest (prodcd, PibCD) VALUES ('0011', 'B133')
    
    LCCATEGORY = 'APPAREL'
    * The following SELECT fails with "Function argument value, type, or count 
    * is invalid." error.
    SELECT * ;
       FROM mbtest ;
       WHERE mbtest.PibCD LIKE LEFT(LCCATEGORY,1) ;
       INTO CURSOR cTemp
    
    * The following SELECT succeeds without error after adding % character.
    SELECT * ;
       FROM mbtest ;
       WHERE mbtest.PibCD LIKE LEFT(LCCATEGORY,1) +"%";
       INTO CURSOR cTemp
    
    USE IN mbtest 
  3. The first SELECT fails with the error:


  4. Function argument value, type, or count is invalid.
  5. If you ignore the error, the second SELECT will succeed with the percent character (%) concatenated with the value compared with LIKE.


  6. The first SELECT will succeed if there is no index on the PibCD field.


  7. Other functions, such as SUBSTR(), will cause the error to occur as well.


(c) Microsoft Corporation 1999, All Rights Reserved. Contributions by Jim Saunders, Microsoft Corporation.

Additional query words:

Keywords : kbSQL kbVFp500abug kbVFp600 kbVFp600bug kbVS600sp3fix kbGrpFox
Version : WINDOWS:5.0,5.0a,6.0
Platform : WINDOWS
Issue type : kbbug


Last Reviewed: June 15, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.