У меня есть раскрывающийся список в моей форме InfoPath, и я загружаю некоторые другие поля на основе выбора раскрывающегося списка. так что я написал следующий код для события "изменено" в раскрывающемся списке.
public void ProjectName_Changed(object sender, XmlEventArgs e)
{
string projectId = e.NewValue;
dataQueryConnection = (AdoQueryConnection)this.DataConnections["ProjectInformation"];
dataQueryConnection.Command = dataQueryConnection.Command + string.Format(" WHERE ProjectId = '{0}'", projectId);
dataQueryConnection.Execute();
}
Впервые, когда я изменяю элемент в раскрывающемся списке, он работает нормально, но для последующих изменений элементов (второй раз и т. Д.) Он дает следующую ошибку:
Запрос не может быть запущен для следующего объекта DataObject: ProjectInformation InfoPath не может выполнить указанный запрос. [0x80040E14] [Поставщик Microsoft OLE DB для SQL Server] Неправильный синтаксис рядом с ключевым словом "WHERE".
И это причина, во второй раз,
dataQueryConnection.Command = выберите "EmployeeID", "Accountname", "ProjectName", "ProjectId", "ProjectRole", "BillableUtilization", "ClientName", "BillingCode", "BUHead" из "TRF". "hrt_vw_ProjectInformation" как " hrt_vw_ProjectInformation "ГДЕ ProjectId = '3072507' ГДЕ ProjectId = '3076478'
последующее событие запускает предложение WHERE каждый раз с предыдущим выполненным запросом.
Как я могу избавиться от этой проблемы?