Страница 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";
        }
Добавьте в запрос ссылку на переменную и затем меняйте ее:

Код: Выделить всё

select * from table where {myvariable}
Спасибо.


Спасибо.

Построение запросов

Добавлено: 21 сен 2009, 08:08
Kolizej
Большое спасибо, помогло.

Построение запросов

Добавлено: 23 сен 2009, 09:42
Andrew
Всегда рады помочь!