BUG: ESQL-C: Divisor in Parentheses May Cause AV in NSQLPREPLast reviewed: April 9, 1997Article ID: Q158885  | 
	
	
 
 
The information in this article applies to:
 
 SYMPTOMSNSQLPREP may experience an unhandled access violation (AV) when precompiling a C division expression in which the divisor is contained within parentheses. Additionally, the C modulus (%) operator causes the same problem. 
 WORKAROUNDTo work around this problem, do either of the following: 
 STATUSMicrosoft has confirmed this to be a problem in Microsoft Embedded SQL for C Programmer's Toolkit version 6.5. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. 
 MORE INFORMATIONOther operators (such as +, -, and *) do not cause an AV in NSQLPREP. The following is a sample code fragment that will cause the ESQL-C precompiler to generate an AV: 
    int main (int argc, char** argv, char** envp)
   {
      int x;
      EXEC SQL BEGIN DECLARE SECTION;
            char o[3];
      EXEC SQL END DECLARE SECTION;
      x = 1 / (1);   // causes AV
      return (0);
   } /* end program */
The following sample code fragment will not cause the precompiler to
generate an AV, because there is a character string variable assignment
before the division expression:
    int main (int argc, char** argv, char** envp)
   {
      int x;
      char string[] = "";  /* character string assignment */
      EXEC SQL BEGIN DECLARE SECTION;
            char o[3];
      EXEC SQL END DECLARE SECTION;
      x = 1 / (1);
      return (0);
   } /* end program */
	
	 | 
	
	Additional query words: ESQL/C ESQL-C 
 © 1998 Microsoft Corporation. All rights reserved. Terms of Use.  |