Метод AdoSubmitConnection.BuildSqlFromXmlNodes
Возвращает фрагмент текста команды SQL с помощью указанного узла XML.
Пространство имен: Microsoft.Office.InfoPath
Сборка: Microsoft.Office.InfoPath (в microsoft.office.infopath.dll)
Синтаксис
'Декларация
Public MustOverride Function BuildSqlFromXmlNodes ( _
input As XPathNavigator _
) As String
'Применение
Dim instance As AdoSubmitConnection
Dim input As XPathNavigator
Dim returnValue As String
returnValue = instance.BuildSqlFromXmlNodes(input)
public abstract string BuildSqlFromXmlNodes (
XPathNavigator input
)
Параметры
- input
Объект XPathNavigator, указывающий узел XML, который будет преобразован во фрагмент SQL.
Возвращаемое значение
Предложение WHERE для указанного узла.
Исключения
Тип исключения | Условие |
---|---|
Выполнено одно из следующих условий:
|
|
Этому методу передан параметр . |
|
Этому методу передан недопустимый параметр . Например, неправильный тип или формат. |
Заметки
Фрагмент SQL, который создает метод BuildSQLFromXMLNodes, является предложением WHERE SQL в форме пар = . Узел XML, который указывается для параметра input, должен быть потомком узла dfs:queryFields формы. Например, если пользователь запросил таблицу Employees базы данных Northwind, введя Davolio и Nancy в поля запроса полей Фамилия и Имя, фрагмент SQL, возвращенный методом BuildSQLFromXmlNode, будет следующим:
("Employees"."LastName"='Davolio' AND "Employees"."FirstName"='Nancy')
Можно добавить фрагмент текста команды SQL к существующей строке команды SQL объекта ADOSubmitConnection с помощью свойства Command.
Заметка |
---|
Чтобы определить выражение XPath для таблицы, содержащей значения полей запроса, для передачи параметра input, откройте область задач , разверните группу , щелкните правой кнопкой таблицу, содержащую поля запроса, с которыми нужно работать, и затем выберите Copy XPath. |
Доступ к этому члену имеется только у форм, запускаемых на том же домене, что и открытая в настоящий момент форма, или у форм, которым были присвоены междоменные разрешения.
Доступ к этому типу или члену имеется только из программы, работающей в формах, открытых в Microsoft Office InfoPath 2007.
Пример
В следующем примере обработчик события элемента управления Button использует метод BuildSQLFromXMLNodes класса AdoSubmitConnection для синтаксического анализа текущих значений полей запроса и отображения их в окне сообщения.
В этом примере предполагается, что шаблон формы содержит подключение данных "Отправка по основному подключению" для отправки данных в таблицу Employees в образце базы данных Northwind SQL Server.
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
См. также
Ссылка
Класс AdoSubmitConnection
Члены AdoSubmitConnection
Пространство имен Microsoft.Office.InfoPath