ADOAdapter2.BuildSQLFromXMLNodes(IXMLDOMNode) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した XML ノードを使用して SQL コマンド テキスト フラグメントを返します。
public:
System::String ^ BuildSQLFromXMLNodes(Microsoft::Office::Interop::InfoPath::Xml::IXMLDOMNode ^ pXmlNode);
public string BuildSQLFromXMLNodes (Microsoft.Office.Interop.InfoPath.Xml.IXMLDOMNode pXmlNode);
abstract member BuildSQLFromXMLNodes : Microsoft.Office.Interop.InfoPath.Xml.IXMLDOMNode -> string
Public Function BuildSQLFromXMLNodes (pXmlNode As IXMLDOMNode) As String
パラメーター
- pXmlNode
- IXMLDOMNode
SQL フラグメントに変換される XML ノード。
戻り値
SQL コマンド文字列フラグメント。
実装
例
次の例では、BuildSQLFromXMLNodes メソッドを使用して、Northwind データベースの Orders テーブルにクエリを送信しています。 返されるデータは、 の値以上の queryFieldNode
項目に対してフィルター処理されます。
private void QueryGreaterThan()
{
string oldCommand;
string whereClause;
IXMLDOMNode queryFieldNode;
IXMLDOMNode curQueryFieldAttribute;
IXMLDOMNamedNodeMap queryFieldAttributes;
ADOAdapter adapter = (ADOAdapter)thisXDocument.QueryAdapter;
// Build the WHERE clause from the QueryFields in the form's
// underlying XML DOM.
queryFieldNode = thisXDocument.DOM.selectSingleNode("dfs:myFields/dfs:queryFields/q:Orders");
whereClause = adapter.<span class="label">BuildSQLFromXMLNodes</span>(queryFieldNode);
// The QueryFields are empty.
if (whereClause == null)
{
whereClause = String.Empty;
}
// Replace the '=' signs with '>=', and append the clause to
// the SQL command text.
whereClause = whereClause.Replace(@"=", @">=");
oldCommand = adapter.Command;
if (whereClause != "")
{
adapter.Command = oldCommand + " where " + whereClause;
}
// Clear the QueryFields so the WHERE clause isn't
// automatically generated.
queryFieldAttributes = queryFieldNode.attributes;
while ((curQueryFieldAttribute = queryFieldAttributes.nextNode()) != null)
{
curQueryFieldAttribute.text = "";
}
// Perform the query.
try
{
thisXDocument.Query();
}
catch (Exception ex)
{
thisXDocument.UI.Alert("Failed to query.\n\n" + ex.Message);
}
// Reset the command so that subsequent queries are based on
// the correct SQL command text string.
adapter.Command = oldCommand;
}
注釈
BuildSQLFromXMLNodes メソッドが生成する SQL のフラグメントは、フィールド = 値の形式の SQL WHERE 句です。 引数に使用pXmlNode
する XML ノードはノードのdfs:queryFields
子孫である必要があります。SQL コマンド テキスト フラグメントがある場合は、 プロパティを使用してCommand、オブジェクトの既存の ADOAdapterObject SQL コマンド文字列に追加できます。