Als ik op dit moment een waarde wil verwijderen, die nog voorkomt in een ander tabel en volgens de constraint restricted is, krijg ik de volgende informatie:
odbc_error() levert op:
odbc_errormsg() levert op:
Omdat ik weet hoe de database in elkaar zit, weet ik dat het hier gaat om een error die komt door een constraint. Echter hiervoor wil ik een nette error terug geven aan de gebruiker. Iets in de trent van "u kunt deze waarde niet verwijderen, omdat deze nog op andere plekken gebruikt wordt", maar de code die odbc_error() oplevert, is niet uit af te leiden dat het om een constraint error gaat. S1000 zegt enkel dat het om een General error gaat.
De waarde achter Btrieve Error, is wel uit af te lezen dat het om een constraint error gaat, maar die code is niet direct op te vragen.
Ik weet ook niet zeker of elke message die odbc_errormsg() wel een stukje "Btrieve Error <getal>" heeft.
Wat is volgens jullie de meest geschikte oplossing om hier een nette voor terug te geven?
- Toch met een preg_match de message van odbc_errormsg() doorzoeken, het getal achter Btrieve Error eruit halen en op basis hiervan een error geven?
- Een andere oplossing?
odbc_error() levert op:
code:
1
| S1000 |
odbc_errormsg() levert op:
code:
1
| [Pervasive][ODBC Client Interface][LNA][Pervasive][ODBC Engine Interface][Data Record Manager]There is a violation of the RI definitions(Btrieve Error 71) |
Omdat ik weet hoe de database in elkaar zit, weet ik dat het hier gaat om een error die komt door een constraint. Echter hiervoor wil ik een nette error terug geven aan de gebruiker. Iets in de trent van "u kunt deze waarde niet verwijderen, omdat deze nog op andere plekken gebruikt wordt", maar de code die odbc_error() oplevert, is niet uit af te leiden dat het om een constraint error gaat. S1000 zegt enkel dat het om een General error gaat.
De waarde achter Btrieve Error, is wel uit af te lezen dat het om een constraint error gaat, maar die code is niet direct op te vragen.
Ik weet ook niet zeker of elke message die odbc_errormsg() wel een stukje "Btrieve Error <getal>" heeft.
Wat is volgens jullie de meest geschikte oplossing om hier een nette voor terug te geven?
- Toch met een preg_match de message van odbc_errormsg() doorzoeken, het getal achter Btrieve Error eruit halen en op basis hiervan een error geven?
- Een andere oplossing?