Страница 1 из 1
Построение запросов
Добавлено: 18 сен 2009, 08:40
Kolizej
Здрайствуйте. Возникла следующая проблема: необходимо программно сформировать текст запроса. Переопределение текста запроса посредством query.SqlCommand движком отчета игнорируется. Подскажите пожалуйста решение данной проблемы.
Построение запросов
Добавлено: 20 сен 2009, 07:19
Jan
Здравствуйте,
Покажите пожалуйста код, который используется для изменения запроса.
Спасибо.
Построение запросов
Добавлено: 21 сен 2009, 06:32
Kolizej
К примеру: с помощью визарда запросов создан запрос qSelect, с текстом: "select rName, rTAG from Reports".
К запросу необходимо программно добавить условие выборки, которое формируется на основании выбранных пользователем значений:
public void btnOk_Enter(object sender, System.EventArgs e)
{
qSelect.SqlCommand+="where rTAG in ( "
for(int i = 0; i<listbox.Items.Count; i++)
{
if(i ==0) qSelect.SqlCommand+="'"+listbox.Items.ToString()+"'"
else
qSelect.SqlCommand+=", '"+listbox.Items.ToString()+"'";
}
qSelect.SqlCommand+=")";
}
После подтверждения, на странице все равно выполняется запрос с исходным текстом, без условия выборки.
Построение запросов
Добавлено: 21 сен 2009, 07:19
Jan
Здравствуйте,
Я так понимаю этот обработчик события - это обработчик в диалоговой форме отчета? Если так, то в этот момент изменение свойства SqlCommand не приведет к какому либо результату, т.к. это свойство уже переведено в выражение, которое возвращается специальным методом. Получается что-то вроде этого:
Код: Выделить всё
public void GetEmployees_SqlCommand(object sender, System.EventArgs e)
{
this.Employees.SqlCommand = "select * from Employees\r\n";
}
Добавьте в запрос ссылку на переменную и затем меняйте ее:
Спасибо.
Спасибо.
Построение запросов
Добавлено: 21 сен 2009, 08:08
Kolizej
Большое спасибо, помогло.
Построение запросов
Добавлено: 23 сен 2009, 09:42
Andrew
Всегда рады помочь!