OdbcCommand.CommandText プロパティ
アセンブリ: System.Data (system.data.dll 内)

Dim instance As OdbcCommand Dim value As String value = instance.CommandText instance.CommandText = value
public: virtual property String^ CommandText { String^ get () override; void set (String^ value) override; }
/** @property */ public String get_CommandText () /** @property */ public void set_CommandText (String value)
public override function get CommandText () : String public override function set CommandText (value : String)
実行する SQL ステートメントまたはストアド プロシージャ。既定値は空の文字列 ("") です。

CommandType プロパティを StoredProcedure に設定した場合、CommandText プロパティは、標準の ODBC ストアド プロシージャのエスケープ シーケンスを使用して設定する必要があります。CommandText にストアド プロシージャの名前を設定しても、他の .NET Framework データ プロバイダのようには機能しません。
多くの言語機能 (外部結合やスカラ関数の呼び出しなど) は、通常、データ ソースによって実装されます。このような機能の構文の多くも、データ ソース固有です。そのため、ODBC では、次の言語機能の標準構文を含むエスケープ シーケンスを定義しています。
ODBC で使用されるエスケープ シーケンスを次に示します。
このエスケープ シーケンスは、ODBC ドライバによって認識および解析されます。エスケープ シーケンスは、後でデータ ソース固有の文法と置き換えられます。
プロシージャは、データ ソースに格納される実行可能オブジェクトです。これは通常、プリコンパイルされた 1 つ以上の SQL ステートメントです。プロシージャ呼び出しのためのエスケープ シーケンスを次に示します。
procedure-name にはプロシージャ名を、parameter にはプロシージャのパラメータを指定します。
いずれかの Execute メソッド (ExecuteReader または ExecuteNonQuery など) を呼び出すと、このストアド プロシージャがコマンドによって実行されます。
現在の接続で実行またはフェッチ操作が実行中の場合は、Connection、CommandType、および CommandText プロパティは設定できません。
CommandType を Text に設定した場合、ODBC.NET プロバイダでは、OdbcCommand が呼び出す SQL ステートメントまたはストアド プロシージャにパラメータを渡すための名前付きパラメータを利用できません。この場合は、疑問符 (?) プレースホルダを使用する必要があります。次に例を示します。
SELECT * FROM Customers WHERE CustomerID = ?
したがって、パラメータの疑問符プレースホルダの位置と、OdbcParameter オブジェクトを OdbcParameterCollection に追加する順序とを、正しく対応させる必要があります。
パラメータに null 値が含まれている場合でも、.NET Framework ODBC 用データ プロバイダはそのパラメータをバインドしますが、そのパラメータが SQL_DEFAULT_PARAM を使用して定義されている場合、null 値ではなく既定のパラメータを使用します。たとえば、次の OdbcParameterCollection
{1, null, 2}
この場合、上記の呼び出しを実行すると、.NET Framework ODBC 用データ プロバイダは最初のパラメータを値 1 に、3 番目のパラメータを値 2 にバインドし、2 番目のパラメータを SQL_DEFAULT_PARAM としてバインドします。ただし、この動作は、ドライバによって異なります。ドライバがこの機能をサポートしていない場合、このパラメータには値を渡さないようにします。たとえば、次の OdbcParameterCollection を使用し、
{1, 2}
![]() |
---|
パラメータを省略した場合でも、パラメータ間を区切っているコンマはそのまま残しておきます。入力パラメータまたは入出力パラメータを省略した場合、プロシージャは、パラメータの既定値を使用します。入力パラメータまたは入出力パラメータの既定値を指定する別の方法として、そのパラメータに対応した長さ/インジケータ バッファ (length/indicator buffer) の値を SQL_DEFAULT_PARAM に設定することもできます。 |

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からOdbcCommand.CommandText プロパティを検索する場合は、下記のリンクをクリックしてください。

- OdbcCommand.CommandText プロパティのページへのリンク