次のように、MSSQL2008データベースに一意のインデックス制約違反があると想像してみてください。
Violation of PRIMARY KEY constraint 'PK_ManufacturerCode'. Cannot insert duplicate key in object 'dbo.ManufacturerCode'. The duplicate key value is (8410179)
現在、シッククライアントのグローバル例外ハンドラーによってこの例外を処理しています(Delphi 6でADOを使用して記述されていますが、将来的にはC#.NETを使用する予定です)。例外メッセージはログボックスに追加されます。 。
ただし、この特定の重複キー例外を個人的に処理し、シッククライアント独自のテキストを使用してクライアントに適切なエラーメッセージを表示したいと思います。エラーメッセージを解析して一致させることはできますが、次の2つの理由からこれを実行しません。
- これは正しい方法ではありません。いくつかのエラーコードに依存することをお勧めします。
- シッククライアントは、エラーテキストが異なる可能性のあるさまざまな言語でさまざまなバージョンのMSSQLサーバーを使用することを目的としています。
カスタム終了コードを使用したRETURNを使用したり、特別なストアドプロシージャを呼び出して重複をチェックしたりすることは、私を元気づけません。