Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Error in stored proc
Message
From
24/10/2009 11:06:06
 
 
To
22/10/2009 05:44:03
Lutz Scheffler
Lutz Scheffler Software Ingenieurbüro
Dresden, Germany
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 9 SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01430571
Message ID:
01431234
Views:
43
>Hi all,
>
>I have a nice little problem with vfp and a stored proc.
>
>In a stored proc used to append a record (default value) I try to use a try catch. If an error in the try block happens the record will not be appended and error 1502 will be raised.
>
>Can an you reproduce this
>How can I work around
>
>code to reproduce:
>
>CREATE DATABASE mooh
>CREATE TABLE test (ix I DEFAULT new_ix())
>
>TEXT TO cHelp NOSHOW
>FUNCTION new_ix
> RETURN 12
>ENDFUNC &&New_IX
>ENDTEXT &&cHelp
>
>STRTOFILE(cHelp,'Help.txt')
>APPEND PROCEDURES FROM HELP.txt OVERWRITE
>
>USE test
>
>*runs fine
>APPEND BLANK
>
>TEXT TO cHelp NOSHOW
>FUNCTION new_ix
> TRY
>   ERROR 1
>  CATCH TO loException
>  FINALLY
> ENDTRY
>
> RETURN 1
>ENDFUNC &&New_IX
>ENDTEXT &&cHelp
>
>STRTOFILE(cHelp,'Help.txt')
>APPEND PROCEDURES FROM HELP.txt OVERWRITE
>
>DELETE FILE Help.txt
>
>*raises error
>APPEND BLANK
>
>
>Agnes

this is the correct workaround,
because APPEND need header lock to update RECCOUNT
CLEAR

SET EXCLUSIVE OFF
ON ERROR

CREATE DATABASE mooh

TEXT TO cHelp NOSHOW
FUNCTION new_ix
 RETURN 12
ENDFUNC &&New_IX
ENDTEXT &&cHelp

STRTOFILE(cHelp,'Help.txt')
APPEND PROCEDURES FROM HELP.txt OVERWRITE

CREATE TABLE test (ix I DEFAULT new_ix())

USE test SHARED

*runs fine
APPEND BLANK

TEXT TO cHelp NOSHOW
FUNCTION new_ix
 TRY
   ERROR 1	&& this remove the implicit locks only
  CATCH TO loException
 ENDTRY
 RETURN 1
ENDFUNC &&New_IX
ENDTEXT &&cHelp

STRTOFILE(cHelp,'Help.txt')
APPEND PROCEDURES FROM HELP.txt OVERWRITE

DELETE FILE Help.txt

RLOCK("0",SELECT(0))
APPEND BLANK
UNLOCK

CLOSE DATABASES ALL

DELETE DATABASE mooh DELETETABLES
Previous
Reply
Map
View

Click here to load this message in the networking platform