(IXMLDOMNode) del método ADOAdapter2.BuildSQLFromXMLNodes
Devuelve un comando SQL utilizando el nodo XML especificado.
Espacio de nombres: Microsoft.Office.Interop.InfoPath.SemiTrust
Ensamblado: Microsoft.Office.Interop.InfoPath.SemiTrust (en Microsoft.Office.Interop.InfoPath.SemiTrust.dll)
Sintaxis
'Declaración
Function BuildSQLFromXMLNodes ( _
pXmlNode As IXMLDOMNode _
) As String
'Uso
Dim instance As ADOAdapter2
Dim pXmlNode As IXMLDOMNode
Dim returnValue As String
returnValue = instance.BuildSQLFromXMLNodes(pXmlNode)
string BuildSQLFromXMLNodes(
IXMLDOMNode pXmlNode
)
Parámetros
pXmlNode
Tipo: Microsoft.Office.Interop.InfoPath.SemiTrust.IXMLDOMNodeNodo XML que se convertirá en un fragmento de SQL.
Valor devuelto
Tipo: System.String
Un fragmento de texto de comando SQL.
Implementaciones
ADOAdapter.BuildSQLFromXMLNodes(IXMLDOMNode)
Comentarios
El fragmento de SQL generado por el método BuildSQLFromXMLNodes es una cláusula WHERE de SQL con la forma campo = valor. El nodo XML que se utiliza como argumento pXmlNode debe ser descendiente del nodo dfs:queryFields; cuando disponga del fragmento de texto del comando SQL, puede agregárselo a la cadena del comando SQL existente del objeto ADOAdapterObject utilizando la propiedad Command.
Importante
Únicamente se puede acceder a este miembro con formularios que se ejecuten en el mismo dominio que el formulario que está actualmente abierto o con formularios a los que se hayan concedido permisos entre dominios.
Ejemplos
En el siguiente ejemplo, se utiliza el método BuildSQLFromXMLNodes para consultar la tabla Pedidos de la base de datos Neptuno. Los datos devueltos se filtran para los elementos superiores o iguales al valor 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.BuildSQLFromXMLNodes(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;
}
Vea también
Referencia
Sobrecarga BuildSQLFromXMLNodes
Espacio de nombres Microsoft.Office.Interop.InfoPath.SemiTrust