Freigeben über


FileQueryConnection.Execute-Methode (XPathNavigator)

Setzt die standardmäßige Execute-Methode außer Kraft, um das Angeben eines anderen Speicherorts zum Einfügen der zurückgegebenen Daten zu ermöglichen.

Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)

Syntax

'Declaration
Public MustOverride Sub Execute ( _
    output As XPathNavigator _
)
'Usage
Dim instance As FileQueryConnection
Dim output As XPathNavigator

instance.Execute(output)
public abstract void Execute (
    XPathNavigator output
)

Parameter

  • output
    Ein XPathNavigator-Objekt, das einen XML-Knoten in der primären oder einer sekundären Datenquelle des Formulars zum Einfügen der zurückgegebenen Daten angibt. Das XPathNavigator-Objekt, das als output-Parameter übergeben wird, kann auch angeben, dass die Daten in eine XML-Datei auf dem lokalen Computer oder in ein XmlDocument-Objekt im Arbeitsspeicher eingefügt werden sollen.

Ausnahmen

Ausnahmetyp Bedingung

WebException

Fehler beim Abfragevorgang.

ArgumentNullException

Der an diese Methode übergebene Parameter lautet null.

ArgumentException

Der an diese Methode übergebene Parameter ist nicht gültig. Der Parameter weist beispielsweise den falschen Typ oder das falsche Format auf.

Hinweise

Wenn der output-Parameter auf null festgelegt wird, hat dies dieselben Auswirkungen wie die Verwendung der standardmäßigen Execute-Methode (geerbt von der DataConnection-Basisklasse) zum Zurückgeben von Daten mithilfe der in der Formularvorlage definierten deklarativen Einstellungen.

Auf den Member kann nur über Formulare zugegriffen werden, die in derselben Domäne wie das zurzeit geöffnete Formular ausgeführt werden, oder über Formulare, denen domänenübergreifende Berechtigungen erteilt wurden.

Auf diesen Typ oder diesen Member kann über Code zugegriffen werden, der in Formularen ausgeführt wird, die mit Microsoft Office InfoPath 2007 oder einem Webbrowser geöffnet wurden.

Beispiel

Im folgenden Beispiel wird die Execute(output)-Methode der FileQueryConnection-Klasse verwendet, um eine Abfrage für die Datei "List.xml" auszuführen und die Ausgabe in einem XmlDocument-Objekt zu speichern, das im Arbeitsspeicher erstellt wird. Dann wird die im XmlDocument-Objekt gespeicherte Ausgabe im Feld QueryOutput des Formulars angezeigt.

public void ExecuteOutput_Clicked(object sender, ClickedEventArgs e)
{
   // Create the XmlDocument to accept the query results.
   XmlDocument outputFile = new XmlDocument();
   outputFile.LoadXml(
      "<?xml version=\"1.0\" encoding=\"utf-8\" ?><outputRoot></outputRoot>");

   // Create XmlNamespaceManager for XmlDocument object. When
   // creating a more complex document, use AddNamespace method
   // to add a mapping from namespace prefix to namespace URL for 
   // each namespace to this object.
   XmlNamespaceManager outputFileNamespaceManager = 
      new XmlNamespaceManager(outputFile.NameTable);

   // Create an XPathNavigator positioned at the root of the
   // XmlDocument output file created above.
   XPathNavigator outputFileNavigator = outputFile.CreateNavigator();
   XPathNavigator outputRootNavigator = 
      outputFileNavigator.SelectSingleNode("/outputRoot", 
      outputFileNamespaceManager);

   // Query the XML file defined for the FileQueryConnection
   // and log the results in the XmlDocument created above.
    FileQueryConnection queryConnection = 
      (FileQueryConnection)(DataConnections["List.xml"]);
    queryConnection.Execute(outputRootNavigator);

   // Insert the results of the query from the XmlDocument in the 
   // QueryOutput field of the main data source of the form.
   XPathNavigator mainNavigator = MainDataSource.CreateNavigator();
   XPathNavigator queryOutputNavigator = 
      mainNavigator.SelectSingleNode("/my:myFields/my:QueryOutput",
      NamespaceManager);
    queryOutputNavigator.SetValue(outputRootNavigator.InnerXml);
}
Public Sub ExecuteOutput_Clicked(ByVal sender As Object , _
   ByVal e As ClickedEventArgs)
{
   ' Create the XmlDocument to accept the query results.
   Dim outputFile As XmlDocument = new XmlDocument()
   outputFile.LoadXml(
      "<?xml version=\"1.0\" encoding=\"utf-8\" ?><outputRoot></outputRoot>")

   ' Create XmlNamespaceManager for XmlDocument object. When
   ' creating a more complex document, use AddNamespace method
   ' to add a mapping from namespace prefix to namespace URL for 
   ' each namespace to this object.
   Dim outputFileNamespaceManager As XmlNamespaceManager  = _
      new XmlNamespaceManager(outputFile.NameTable)

   ' Create an XPathNavigator positioned at the root of the
   ' XmlDocument output file created above.
   Dim outputFileNavigator As XPathNavigator = _
      outputFile.CreateNavigator()
   Dim outputRootNavigator As XPathNavigator = 
      outputFileNavigator.SelectSingleNode("/outputRoot", 
      outputFileNamespaceManager)

   ' Query the XML file defined for the FileQueryConnection
   ' and log the results in the XmlDocument created above.
    Dim myQueryConnection As FileQueryConnection  = _
      DirectCast(DataConnections["List.xml"], FileQueryConnection)
    myQueryConnection.Execute(outputRootNavigator);

   ' Insert the results of the query from the XmlDocument 
   ' in the QueryOutput field of the main data source of the form.
   Dim mainNavigator As XPathNavigator  = _
      MainDataSource.CreateNavigator()
   Dim queryOutputNavigator As XPathNavigator  = 
      mainNavigator.SelectSingleNode("/my:myFields/my:QueryOutput", _
      NamespaceManager)
    queryOutputNavigator.SetValue(outputRootNavigator.InnerXml)
End Sub

Siehe auch

Referenz

FileQueryConnection-Klasse
FileQueryConnection-Member
Microsoft.Office.InfoPath-Namespace