| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Firebird, Interbase > как создать параметры в TpFIBQuery? |
| Автор: ksili 30.6.2006, 07:48 | ||||
| В компоненте TpFIBQuery есть свойства Params (на чтение), ParamsCheck и методы ParamByName, ParamCount, ParamExist, ParamName, ParamValue, SetParamValue, SetParamValues. Не могу добавить параметры. Если просто написать
в процессе выполнения пишет, что параметр p1 не существует. Если написать
то при компиляции пишет ошибку 'Could not find a match for 'TFIBQuery::ExecWP(char*,AnsiString)' |
| Автор: Alex 30.6.2006, 08:51 | ||||
ParamValue это функция возвращающая значение параметра.
|
| Автор: ksili 30.6.2006, 09:34 | ||
Пишу
Все равно на первой же строчке приведённого кода происходит ошибка (в run-time), что параметр p1 не существует. Его в design-time нужно как-то создать! |
| Автор: Alex 30.6.2006, 09:41 | ||
А откуда программа знает о ваших параметрах когда вы ей еще запрос не задали????
|
| Автор: ksili 30.6.2006, 10:57 |
| Да, так оказалось правильно. Но теперь другая проблема. На самом деле в таблице три поля: KOD_A и NAZV_A текстовые. А поле ID_A автоинкрементное. Поэтому я его не указывал, думал что оно должно само сгенериться. При создании структуры базы пользуюсь IBExpert. насколько я понял, чтобы поле было автоинкрементным, надо создать соответствующий генератор, или триггер, или процедуру. Я создал генератор, задал ему начальное значение 1. Поставил в свойствах поля галку USE EXISTING GENERATOR и выбрал генератор. Но почему-то если закрыть таблицу и открыть заново (в IBExpert), эта установка не сохраняется. Поле остаётся не автоинкрементным. Как вставить запись с таким полем? Я понимаю, что вопрос банальный. Просто первый раз это делаю. Помню давно делал базу под BDE. Там по-моему такое поле заполнялось автоматически. |
| Автор: Ramin 17.7.2006, 11:04 | ||||
+1 |