EnquoteNCharLiteral(literal, ncharset)

このメソッドは、リテラルを検証し、必要に応じて一重引用符を追加し、先頭にNを付け、結果を戻します。

宣言

// C#
public static string EnquoteNCharLiteral(string literal, OracleDatabaseNCharset ncharset);

パラメータ

  • literal

    入力リテラル。

  • ncharset

    データベースの各国語文字セット。

戻り値

リテラルは、一重引用符で囲み、Nという接頭辞を付けて戻されます。

例外

ArgumentNullException - 値はNULLにできません。(パラメータ'identifier'')

OracleException - 識別子またはリテラルが無効です。

備考

このメソッドの目的は、SQLインジェクションの防止です。

リテラル内の一重引用符は、エスケープまたはオーバーロードの目的で、2つの一重引用符に置き換えられます。たとえば、入力文字列scott'sは、戻り値ではN'scott''s'になります。

リテラルは、一重引用符で囲み、Nという接頭辞を付けて戻されます。リテラル内の一重引用符は、2つの一重引用符に置き換えられます。これをエスケープまたはオーバーロードと呼びます。

空のリテラルを使用できます。

先頭と末尾の空白は、引用符で囲まれている場合は無視されず、切り捨てられません。

ODP.NETにより、ncharsetを使用して、そのリテラルを表すことができる指定されたデータベース各国語文字セットが検証されます。引用符の代替表現を使用するとSQLインジェクションがもたらされる可能性があります。そのデータベース各国語文字セットで引用符を正しく表すことができない場合は、OracleExceptionがスローされます。