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 を実行します。
参照
関連項目
SqlXmlParameter オブジェクト (SQLXML マネージ クラス)
SqlXmlAdapter オブジェクト (SQLXML マネージ クラス)