SqlXmlCommand オブジェクト (SQLXML マネージ クラス)
次は SqlXmlCommand オブジェクトのコンストラクターです。
public SqlXmlCommand(string cnString)
ここで、cnString は Provider=SQLOLEDB; Server=(local); database=AdventureWorks; Integrated Security=SSPI" のように、サーバー、データベース、およびログイン情報を識別する ADO または OLEDB 接続文字列です。
接続文字列では、Provider に SQLOLEDB を指定する必要があります。プロバイダーの文字列に Data Provider は使用できません。
作業用サンプルについては、「SQL クエリの実行 (SQLXML マネージ クラス)」を参照してください。
メソッド
SqlXmlCommand オブジェクトでは、いくつかのメソッドがサポートされます。これには、コマンド実行用の次のメソッドが含まれます。
void ExecuteNonQuery()
コマンドを実行しますが、何も返しません。 このメソッドは、クエリ以外のコマンド (何も返さないコマンド) を実行する場合に便利です。 たとえば、アップデートグラムや DiffGram でレコードを更新し、何も返さない場合に使用できます。Stream ExecuteStream()
新しい Stream オブジェクトを返します。 このメソッドは、クエリ結果を新しいストリームで返す場合に便利です。 実際のサンプルについては、「SQL クエリの実行 (SQLXML マネージ クラス)」を参照してください。public void ExecuteToStream(Stream outputStream)
クエリ結果を既存のストリームに書き込みます。 このメソッドは、既存のストリームに結果を追加する場合に便利です。たとえば、クエリ結果を System.Web.HttpResponse.OutputStream に書き込む場合に使用できます。 実際のサンプルについては、「SQL クエリの実行 (SQLXML マネージ クラス)」を参照してください。XmlReader ExecuteXmlReader()
XmlReader オブジェクトを返します。 このメソッドは、XmlReader オブジェクトで直接データを操作するか、System.Xml のチェーン可能なアーキテクチャに追加する場合に使用できます。 詳細については、Microsoft .NET Framework のドキュメントを参照してください。 実際のサンプルについては、「ExecuteXMLReader メソッドを使用した、SQL クエリの実行」を参照してください。
SqlXmlCommand オブジェクトでは、次の追加メソッドもサポートされます。
SqlXmlParameter CreateParameter()
SqlXmlParameter オブジェクトを作成します。 このオブジェクトには、Name パラメーターと Value パラメーターの値を設定できます。 このメソッドは、コマンドにパラメーターを渡す場合に便利です。 実際のサンプルについては、「SQL クエリの実行 (SQLXML マネージ クラス)」を参照してください。void ClearParameters()
指定したコマンド オブジェクトに作成されたパラメーターを消去します。 このメソッドは、同一のコマンド オブジェクトで複数のクエリを実行する場合に便利です。
プロパティ
SqlXmlCommand オブジェクトでは、次のプロパティもサポートされます。
ClientSideXml
True に設定すると、サーバーではなくクライアント側で、行セットが XML に変換されます。 このプロパティは、パフォーマンスの負荷を中間層に移す場合に便利です。 このプロパティを使用すると、既存のストアド プロシージャを FOR XML でラップして XML に出力することもできます。SchemaPath
マッピング スキーマの名前とディレクトリ パス (C:\x\y\MySchema.xml など) を指定します。 このプロパティは、XPath クエリにマッピング スキーマを指定するときに便利です。 パスは、相対パスまたは絶対パスで指定できます。 相対パスを指定した場合、パスの解決には Base Path で指定されている基本パスが使用されます。 基本パスが指定されていない場合、相対パスは現在のディレクトリからのパスになります。 実際のサンプルについては、「.NET 環境での SQLXML 機能へのアクセス」を参照してください。XslPath
XSL ファイルの名前とディレクトリ パスを指定します。 パスは、相対パスまたは絶対パスで指定できます。 相対パスを指定した場合、パスの解決には Base Path で指定されている基本パスが使用されます。 基本パスが指定されていない場合、相対パスは現在のディレクトリからのパスになります。 実際のサンプルについては、「XSL 変換の適用 (SQLXML マネージ クラス)」を参照してください。Base Path
基本パス (ディレクトリ パス) を指定します。 このプロパティは、XslPath プロパティによって XSL ファイルに指定された相対パスや、SchemaPath プロパティによってマッピング スキーマ ファイルに指定された相対パス、または mapping-schema 属性によって XML テンプレートの外部スキーマ参照に指定された相対パスを解決するときに使用されます。OutputEncoding
コマンドを実行したときに返されるストリームのエンコードを指定します。 このプロパティは、返されるストリームに特定のエンコードを要求する場合に便利です。 一般的に使用されるエンコードには、UTF-8、ANSI、Unicode などがあります。 既定のエンコードは UTF-8 です。Namespaces
名前空間を使用する XPath クエリを実行できるようにします。 名前空間を使用する XPath クエリの詳細については、「名前空間を使用した XPath クエリの実行 (SQLXML マネージ クラス)」を参照してください。 実際のサンプルについては、「XPath クエリの実行 (SQLXML マネージ クラス)」を参照してください。RootTag
コマンドを実行して生成される XML の、単一のルート要素を指定します。 有効な XML ドキュメントには、単一のルートレベルのタグが必要です。 このプロパティでは、コマンドを実行して単一の最上位要素のない XML フラグメントが生成された場合に、返される XML のルート要素を指定できます。 実際のサンプルについては、「XSL 変換の適用 (SQLXML マネージ クラス)」を参照してください。CommandText
コマンドのテキストを指定します。 このプロパティは、実行するコマンドのテキストを指定するときに使用します。 実際のサンプルについては、「SQL クエリの実行 (SQLXML マネージ クラス)」を参照してください。CommandStream
コマンド ストリームを指定します。 このプロパティは、XML テンプレートなどのファイルからコマンドを実行する場合に便利です。 CommandStream を使用する場合は、"Template"、"UpdateGram"、"DiffGram" CommandType 値だけがサポートされます。 実際のサンプルについては、「CommandStream プロパティを使用した、テンプレート ファイルの実行」を参照してください。CommandType
コマンドの種類を指定します。 このプロパティは、実行するコマンドの種類を指定するときに使用します。 コマンドの種類の値を、次の表に示します。 実際のサンプルについては、「.NET 環境での SQLXML 機能へのアクセス」を参照してください。値
説明
SqlXmlCommandType.Sql
SQL コマンド (SELECT * FROM Employees FOR XML AUTO など) を実行します。
SqlXmlCommandType.XPath
XPath コマンド (Employees[@EmployeeID=1] など) を実行します。
SqlXmlCommandType.Template
XML テンプレートを実行します。
SqlXmlCommandType.TemplateFile
指定したパスにあるテンプレート ファイルを実行します。
SqlXmlCommandType.UpdateGram
アップデートグラムを実行します。
SqlXmlCommandType.Diffgram
DiffGram を実行します。