Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Глюк ADODataSet [D7, MSSQL]


Risk ©   (2006-02-15 07:54:00) 

Пишу обычный запрос в ADODataSet c параметрами
//-----------------------------------------------
f16.ds_rupdisc.Close;
f16.ds_rupdisc.Parameters.Clear;
f16.ds_rupdisc.Parameters.AddParameter.Name := 'P_id_groups';
f16.ds_rupdisc.Parameters.AddParameter.Name := 'P_id_semestr';
f16.ds_rupdisc.Parameters.AddParameter.Name := 'P_course';
f16.ds_rupdisc.Parameters.ParamValues['P_id_groups']  := 14;//f16.ds_lgroup.FieldByName('id_groups').AsInteger;
f16.ds_rupdisc.Parameters.ParamValues['P_id_semestr'] := 4;//f16.ds_lsem.FieldByName('id_semestr').AsInteger;
f16.ds_rupdisc.Parameters.ParamValues['P_course']     := 2;//f16.ds_lgroup.FieldByName('course').AsInteger;
f16.ds_rupdisc.CommandText := 'SELECT rp_discip.discipr, rp_groups.lang, rp_discip.id_discip, rp_ruplan.hours, rp_ruplan.weeks, rp_ruplan.id_ruplan, rp_ruplan.fundrasp'+
   ' FROM rp_discip INNER JOIN'+
   ' rp_ruplan ON rp_discip.id_discip = rp_ruplan.id_discip INNER JOIN'+
   ' rp_spec ON rp_ruplan.id_spec = rp_spec.id_spec INNER JOIN'+
   ' rp_groups ON rp_spec.id_spec = rp_groups.id_spec INNER JOIN'+
   ' rp_semestr ON rp_ruplan.id_semestr = rp_semestr.id_semestr'+
   ' WHERE (rp_ruplan.course=:P_course) AND (rp_groups.id_groups=:P_id_groups) AND'+
   ' (rp_semestr.id_semestr=:P_id_semestr) order by rp_discip.id_discip';
f16.ds_rupdisc.Open;
//----------------------------------------------
запуская его первый раз все нормально, запускаю второй раз(парметры не меняю) возврашает пусто. В чем дело не могу понять. Помогите!!!


Risk   (2006-02-15 09:17:00) [1]

Все разобрался, спасибо.


sniknik   (2006-02-15 08:44:00) [2]

> Они сами по себе не создадутся
создадутся, если конечно ты сознательно это не отключил (ParamCheck). впрочем... от бессознательного отключения эффект тот же.

но даже в этом случае (при отключенном, и ручном создании) все одно это надо делать после внесения запроса.


Risk   (2006-02-15 08:18:00) [3]

->очистка параметров лишняя
Без него происходит ошибка, очистка должна быть.

->они и так очистятся и создадутся при внесении запроса
Они сами по себе не создадутся, выйдет ошибка не найден такой-то параметр.


sniknik   (2006-02-15 08:13:00) [4]

в чем, в чем...
как ктото сказал... "97% ошибок обычно сидят перед монитором, и возмущаются "кривизной" виндов"...

очистка параметров лишняя, так же как самотоятельное создание, они и так очистятся и создадутся при внесении запроса... вот в этом и "глюк", задавать значения чему бы ни было надо после того как оно создастся, а не до.


Наверх

Титульная страница Поиск, карта сайта Написать письмо