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

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

Добрый день. Никак не могу разобраться с параметрами [D7]


Param[...] ©   (2006-02-27 15:44:00) 

(IBDataSet, FIBDataSet)
В DataSet такой запрос:
INSERT INTO MAIN(
Col_1,
Col_2
)
VALUES(
:Col_1,
:Col_2
)

Как   :Col_1, :Col_2   присвоить значения Edit1.Text, Edit2.Text

ParamByName('Col_1').Value := Edit1.Text - выдает ошибку, пишет что не найден парметр Col_1;
В IBQuery, например, есть меню Params[...] где их можно определить. А как это сделать в IBDataSet (FIBDataSet).


Johnmen   (2006-02-27 16:45:00) [1]

>Sergey13 ©   (27.02.06 16:43) [14]

Автоматом...


Sergey13   (2006-02-27 16:43:00) [2]

2[11] Johnmen ©   (27.02.06 16:35)
Не автоматически вроде. Надо выбрать соответствующие поля и нажать кнопку "Создать" (или как то так).


Mikhail V   (2006-02-27 16:42:00) [3]


> Param[...]   (27.02.06 16:31) [10]

Ах, ну тогда FieldByName()


Param[...]   (2006-02-27 16:40:00) [4]

Если я правильно понял, то нужно:
StartTransaction;
Append;
FieldByName('Col_1').value := Edit1.text;
ApplyUpdate;

А ДатаСет сам заполнит необходимые параметры.


Johnmen   (2006-02-27 16:35:00) [5]

Значения параметров для InsertSQL и т.д. берутся автоматически из текущей записи НД из соответствующих полей.


Param[...]   (2006-02-27 16:31:00) [6]

Mikhail V ©   (27.02.06 16:26) [9]
Есть предположение, что отсутствует SelectSQL


ДатаСет один. В нем запрос: Select * From Table  -  выводит данные в ДБГриде. На другой форме находятся Edit'ы. Insert также прописан в этом ДатаСете


Mikhail V   (2006-02-27 16:26:00) [7]

Есть предположение, что отсутствует SelectSQL


Sergey13   (2006-02-27 16:21:00) [8]

2 [6] Param[...]   (27.02.06 16:12)
>И зачем тогда в ДатаСет есть функция ParamByName???
А по твоему запрос на получение набора данных не может быть параметрическим?

>Как SQL запросом INSRT INTO добавить их туда.
Либо отдельным запросом, либо заполнить InsertSQL отображающего данные  датасета.


Johnmen   (2006-02-27 16:20:00) [9]

>И зачем тогда в ДатаСет есть функция ParamByName???

Чтобы использовать параметры в селективном запросе.


Param[...]   (2006-02-27 16:12:00) [10]

И зачем тогда в ДатаСет есть функция ParamByName???
_____________________________________________________
Что-то я никак не въеду.
Мне нужно добавить в таблицу новую запись. Данные заполняются пользователем в обычных Edit1.text.
Как SQL запросом INSRT INTO добавить их туда.


Sergey13   (2006-02-27 16:01:00) [11]

2[3] Param[...]   (27.02.06 15:55)
>А для чего тогда в свойствах присутствует  InsertSQL...
А ты думаешь InsertSQL - это датасет? Это запрос модифицирующий данные которые содержатся в датасете. Разницу чуешь?


Johnmen   (2006-02-27 15:59:00) [12]

А ты уверен, что поля у тебя так и называются, Col_1, Col_2 ?


Param[...]   (2006-02-27 15:55:00) [13]

А для чего тогда в свойствах присутствует   InsertSQL...


Johnmen   (2006-02-27 15:51:00) [14]

Если внимательно читать хелп и документацию, то легко можно увидеть, что компоненты IBDataSet, FIBDataSet и иже с ними НЕ предназначены для выполнения модифицирующих запросов.
Если же имелось в виду соответствующее свойство, типа ModifySQL, то, чисто теоретически, запрос верен.


Sergey13   (2006-02-27 15:48:00) [15]

>А как это сделать в IBDataSet (FIBDataSet).
DataSet - переводится как "Набор данных". Какой набор данных ты хочешь получить командой INSERT INTO MAIN?


Наверх

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