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

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

SQLClientDataSet, Params [IB6.x, dbExpess]


Eduard ©   (2002-01-16 13:20:00) 

Здравствуйте, мастера! Вот объясните мне, пожалуйста, куда деваются параметры, которые я в Design-Time определил для компонента SQLClientDataset.

with SQLClientDataSet1 do
begin
Params[0].AsDateTime := DateTimePicker1.DateTime;
Params[1].AsDateTime := DateTimePicker2.DateTime;
Params[2].AsString := Edit1.Text;
Params[3].AsString := ComboBox1.Text;
Params[4].AsString := ComboBox3.Text;
Params[5].AsString := ComboBox2.Text;
end;


выдает оно мне ошибку Index out of bounds. Пытался писать Params.ParamByName("param1"), пишет "Parameter not found". Я вот думаю, может создавать параметры в Runtime, но уж больно геморройно, да и гарантии никакой. Что делать ?


Polevi   (2002-01-16 17:47:00) [1]

Params.ParamByName("pDateTime").AsDateTime := StrToDate(FormatDateTime("dd.mm.yyyy",
DateTimePicker1.DateTime));

Params.ParamByName("pDateTime").Value:=DateTimePicker1.DateTime;


Eduard   (2002-01-16 16:15:00) [2]

Т.е. не открыть таблицу, а запись вставить, блин.

Неужто никто не в курсе ?


Eduard   (2002-01-16 14:29:00) [3]

Ладно, не хотите на этот вопрос отвечать, ответьте на другой. Создал я-таки параметры в рантайме таким образом

pDateTime := Params.CreateParam(ftUnknown, "pDateTime", ptInput);
pDateRep := Params.CreateParam(ftUnknown, "pDateRep", ptUnknown);
pExecutor := Params.CreateParam(ftUnknown, "pExecutor", ptUnknown);
pFailure := Params.CreateParam(ftUnknown, "pFailure", ptUnknown);
pEquip := Params.CreateParam(ftUnknown, "pEquip", ptUnknown);
pFaculty := Params.CreateParam(ftUnknown, "pFaculty", ptUnknown);


, потом, значит, присваиваю им значения:

Params.ParamByName("pDateTime").AsDateTime := StrToDate(FormatDateTime("dd.mm.yyyy",
DateTimePicker1.DateTime));
Params.ParamByName("pDateRep").AsDateTime := StrToDate(FormatDateTime("dd.mm.yyyy",
DateTimePicker2.DateTime));
Params.ParamByName("pFailure").AsString := Edit1.Text;
Params.ParamByName("pExecutor").AsString := ComboBox1.Text;
Params.ParamByName("pFaculty").AsString := ComboBox3.Text;
Params.ParamByName("pEquip").AsString := ComboBox2.Text;


И при попытке открыть таблицу (CommandText := "INSERT INTO WORKS (Datetime, Faculty, Date_Rep, Equip, Executor, Failure) VALUES (:pDatetime, :pFaculty, :pDateRep, :pEquip, :pExecutor, :pFailure)";

вываливается ошибка "No value for parameter pDateTime". Я проверял, значения параметрам присваиваются нормально, в чем же дело ?


Наверх

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