AdoSubmitConnection.BuildSqlFromXmlNodes-Methode
Gibt ein SQL-Befehlstextfragment zurück, das den angegebenen XML-Knoten verwendet.
Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)
Syntax
'Declaration
Public MustOverride Function BuildSqlFromXmlNodes ( _
input As XPathNavigator _
) As String
'Usage
Dim instance As AdoSubmitConnection
Dim input As XPathNavigator
Dim returnValue As String
returnValue = instance.BuildSqlFromXmlNodes(input)
public abstract string BuildSqlFromXmlNodes (
XPathNavigator input
)
Parameter
- input
Ein XPathNavigator-Objekt, das den XML-Knoten angibt, der in ein SQL-Fragment konvertiert werden soll.
Rückgabewert
Die WHERE-Klausel für den angegebenen Knoten.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Eine der folgenden Bedingungen ist aufgetreten:
|
|
Der an diese Methode übergebene Parameter ist null. |
|
Der an diese Methode übergebene Parameter ist ungültig. Er weist z. B. den falschen Typ oder das falsche Format auf. |
Hinweise
Das SQL-Fragment, das von der BuildSQLFromXMLNodes-Methode generiert wird, ist eine WHERE-Klausel in SQL in Form von Feld = Wert-Paaren. Der XML-Knoten, den Sie für den input-Parameter angeben, muss ein untergeordnetes Element des dfs:queryFields-Knotens des Formulars sein. Wenn der Benutzer z. B. die Employees-Tabelle der Northwind-Datenbank durch Eingabe von Davolio und Nancy in den Abfragefeldern für die Felder Nachname und Vorname eingegeben hat, lautet das von der BuildSQLFromXmlNode-Methode zurückgegebene SQL-Fragment folgendermaßen:
("Employees"."LastName"='Davolio' AND "Employees"."FirstName"='Nancy')
Sie können das SQL-Befehlstextfragment der vorhandenen SQL-Befehlszeichenfolge des ADOSubmitConnection-Objekts mithilfe der Command-Eigenschaft hinzufügen.
Hinweis
Zeigen Sie den Aufgabenbereich Datenquelle an, erweitern Sie die Gruppe queryFields, klicken Sie mit der rechten Maustaste auf die Tabelle, die die gewünschten Abfragefelder enthält, und klicken Sie dann auf Copy XPath, um den XPath-Ausdruck für die Tabelle zu bestimmen, die die an den input-Parameter zu übergebenden Abfragefelder enthält.
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 nur über Code zugegriffen werden, der in Formularen ausgeführt wird, die mit Microsoft Office InfoPath 2007 geöffnet wurden.
Beispiel
Im folgenden Beispiel verwendet der Ereignishandler für ein Steuerelement Button die BuildSQLFromXMLNodes-Methode der AdoSubmitConnection-Klasse, um die aktuellen Abfragefeldwerte zu analysieren und in einem Meldungsfeld anzuzeigen.
In diesem Beispiel wird davon ausgegangen, dass die Formularvorlage über eine Datenverbindung zum Senden von Daten namens "Primäre Verbindung: Absenden" an die Employees-Tabelle in der Northwind-Beispieldatenbank von SQL Server verfügt.
public void DisplaySQL_Clicked(object sender, ClickedEventArgs e)
{
// Get the query fields node.
string queryFieldsXPath =
"dfs:myFields/dfs:queryFields/q:Employees";
XPathNavigator mainDataSourceNav = MainDataSource.CreateNavigator();
XPathNavigator queryFieldsNav = mainDataSourceNav.SelectSingleNode(
queryFieldsXPath, NamespaceManager);
// Create AdoSubmitConnection from the
// DataConnections collection.
AdoSubmitConnection myAdoSubmitConnection =
(AdoSubmitConnection)(DataConnections["Main connection submit"]);
// Display BuildSQLFromXMLNodes output.
string sqlFromXmlNodes =
myAdoSubmitConnection.BuildSqlFromXmlNodes(queryFieldsNav);
MessageBox.Show(sqlFromXmlNodes);
}
Public Sub DisplaySQL_Clicked(ByVal sender As Object, _
ByVal e As ClickedEventArgs)
' Get the query fields node.
Dim queryFieldsXPath As String =
"dfs:myFields/dfs:queryFields/q:Employees"
Dim mainDataSourceNav As XPathNavigator = _
MainDataSource.CreateNavigator()
Dim queryFieldsNav As XPathNavigator = _
mainDataSourceNav.SelectSingleNode( _
queryFieldsXPath, NamespaceManager)
' Create AdoSubmitConnection from the
' DataConnections collection.
Dim myAdoSubmitConnection As AdoSubmitConnection = _
DirectCast(DataConnections["Main connection submit"], _
AdoSubmitConnection)
' Display BuildSQLFromXMLNodes output.
Dim sqlFromXmlNodes As String =
myAdoSubmitConnection.BuildSqlFromXmlNodes(queryFieldsNav)
MessageBox.Show(sqlFromXmlNodes)
End Sub
Siehe auch
Referenz
AdoSubmitConnection-Klasse
AdoSubmitConnection-Member
Microsoft.Office.InfoPath-Namespace