ログイン資格情報を確認する Web ページがあります。このページは関数を呼び出し、Oracle データベース内のテーブルに接続して、このユーザーがアプリケーションの表示を許可されていることを確認します。これはすべて c# を使用して行われますが、データベースからの致命的なエラーである場合は、javascript を使用してユーザーに通知したいと思います。私のC#コードには、基本的にjavascript関数をWebページに出力する文字列変数があります。このように見えます。
string javaScript =
"<script>"+
"var find = ':';"+
"var re = new RegExp(find, 'g');" +
"str='@"+CheckAccess[0]._ERROR.ToString().Replace(":"," ")+"';"+
"str = str.replace(re, '');"+
"if ($('#login_error').css('display') == 'none') {" +
"$('#login_error').text(str).show(); }" +
"else {Return;}</script>";
データベースがエラーを返すと、次のような複数行のエラーが返されます。
ORA-06550 line 1, column 7
PLS-00306 wrong number or types of arguments in call to 'GETUSERACCESS'
ORA-06550 line 1, column 7
PL/SQL Statement ignored at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
私がウェブで見たすべての例は、「/」で区切るように言っているので、「未終了の文字列リテラル」エラーが発生し続けません。ただし、これを行う効率的な方法はわかりません。私が達成しようとしていることを達成するためのより良い方法があるでしょうか、またはこの文字列を解析して改行がどこにあるのかを推測する方法をどのように考え出す必要がありますか? どんな助けでも大歓迎です。
ありがとうミゲル