Partager via


ADOAdapter2.BuildSQLFromXMLNodes(IXMLDOMNode) Méthode

Définition

Renvoie un fragment de texte de commande SQL à l'aide du nœud XML spécifié.

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

Paramètres

pXmlNode
IXMLDOMNode

Nœud XML à convertir en fragment SQL.

Retours

Fragment de texte de commande SQL.

Implémente

Exemples

Dans l'exemple suivant, la méthode BuildSQLFromXMLNodes est utilisée pour interroger la table Commandes de la base de données Les Comptoirs. Les données retournées sont filtrées pour les éléments supérieurs ou égaux à la valeur de :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 '&gt;=', and append the clause to 
 // the SQL command text.
 whereClause = whereClause.Replace(@"=", @"&gt;=");
 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;
}

Remarques

Le fragment de code SQL que la méthode BuildSQLFromXMLNodes génère est une clause SQL WHERE au format field = value. Le nœud XML que vous utilisez pour l’argument pXmlNode doit être un descendant du dfs:queryFields nœud ; lorsque vous avez le fragment de texte de commande SQL, vous pouvez l’ajouter à la chaîne de commande SQL existante de l’objet à l’aide ADOAdapterObject de la Command propriété .

S’applique à