AdoSubmitConnection.BuildSqlFromXmlNodes(XPathNavigator) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt ein SQL-Befehlstextfragment zurück, das den angegebenen XML-Knoten verwendet.
public:
abstract System::String ^ BuildSqlFromXmlNodes(System::Xml::XPath::XPathNavigator ^ input);
public abstract string BuildSqlFromXmlNodes (System.Xml.XPath.XPathNavigator input);
abstract member BuildSqlFromXmlNodes : System.Xml.XPath.XPathNavigator -> string
Public MustOverride Function BuildSqlFromXmlNodes (input As XPathNavigator) As String
Parameter
- input
- XPathNavigator
Ein XPathNavigator -Objekt, das den XML-Knoten angibt, der in ein SQL-Fragment konvertiert werden soll.
Gibt zurück
Die WHERE-Klausel für den angegebenen Knoten.
Ausnahmen
Eine der folgenden Bedingungen ist aufgetreten:Die vom Eingabeknoten generierte SQL-Befehlszeichenfolge kann nicht analysiert werden. Der Eingabeknoten ist keine Tabelle mit Werten. Der Eingabeknoten enthält Spalten (XML-Attribute), die in der Datenquelle, an die sie übermittelt werden, nicht vorhanden sind.
Der an diese Methode übergebene Parameter ist ein NULL-Verweis (Nothing in Visual Basic).
Der an diese Methode übergebene Parameter ist nicht gültig. Der Parameter weist beispielsweise den falschen Typ oder das falsche Format auf.
Beispiele
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
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 Nachfolger des Knotens dfs:queryFields des Formulars sein. Wenn der Benutzer beispielsweise eine Abfrage für die Employee-Tabelle der Northwind-Datenbank ausführt und dabei in den Abfragefeldern Davolio und Nancy für die Nachname- und Vorname-Felder eingibt, lautet das von der BuildSQLFromXmlNode-Methode zurückgegebene SQL-Fragment wie folgt:
("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: Um den XPath-Ausdruck für die Tabelle zu bestimmen, die die Abfragefeldwerte enthält, die für den input
Parameter übergeben werden sollen, zeigen Sie den Aufgabenbereich Datenquelle an, erweitern Sie die Gruppe queryFields, klicken Sie mit der rechten Maustaste auf die Tabelle, die die Abfragefelder enthält, mit denen Sie arbeiten möchten, und klicken Sie dann auf XPath kopieren.
Auf dieses Mitglied kann nur mithilfe von Formularen zugegriffen werden, die in der gleichen Domäne wie das derzeit geöffnete Formular ausgeführt werden oder denen domänenübergreifende Berechtigungen zugewiesen wurden.
Auf diesen Typ oder dieses Mitglied kann nur über Code zugegriffen werden, der in Formularen ausgeführt wird, die in Microsoft InfoPath Filler geöffnet wurden.