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

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

Переход с IBX 4.52 на IBX 5.03 - нет свойства QInsert и т.п. [D5, IB6.x]


Fran ©   (2002-10-10 09:33:00) 

Здравствуйте. При переоде проекта под IBX 5.03 отказалось работать - нет свойства QInsert и т.п. в IBDataSet. Раньше я писал на вставку записей типа:
procedure TfmForm1.btnNewRecClick(Sender: TObject);
begin
with IBDataSet1 do
begin
QInsert.Params[0].AsInteger := 1;
QInsert.Params[1].AsString := "";
QInsert.Params[2].AsString := "";
QInsert.ExecQuery;
end;
end;

А теперь такой фокус не проходит, в Хелпе не смог ничего найти.
Подскажите, что делать.


Alexandr   (2002-10-10 12:56:00) [1]

DbGridEh заюзай, там можно запретить вставку в гриде.


Alexandr   (2002-10-10 12:53:00) [2]

нет уж. Возьми dbgrideh он умеет запрещать поотдельности вставку, редактирование и удаление.


Fran   (2002-10-10 12:46:00) [3]

ЮЮ -> IBDataSet.Insert; Ну не работает Insert т.к. значения полей Not Null, должны быть заполнены. InsertRecord - не работает, т.к. в AfterInsert стоит Cancel, чтобы Юзер не мог в гриде вставить запись перемещая курсор вниз. А ReadOnly для Грида не поставишь, т.к. некоторые поля он должен редактировать в гриде.


ЮЮ   (2002-10-10 12:27:00) [4]

IBDataSet.Insert;
IBDataSet.Fields[0].AsInteger := 1;
IBDataSet.Fields[1].AsString := ЕдитИзДругойФормы.Теxt;
IBDataSet.Post;


Johnmen   (2002-10-10 12:23:00) [5]

Понятно...
В этом случае - отдельный TIBQuery.


Fran   (2002-10-10 12:19:00) [6]

Johnmen -> что значит "сам сработает, когда запись будет вставлена в НД и отработан Post, и значения параметров сам возьмет из соотв-их полей НД." кем это она будет вставлена? И где это он параметры возьмет, если я вставляю запись по нажатию соответствующей кнопке на форме и в гриде нет и половины значений, которые надо вставить и вообще грид не редактируется и параметры заносятся из другой - диалоговой формы?


Johnmen   (2002-10-10 12:11:00) [7]

И не надо ! Он сам сработает, когда запись будет вставлена в НД и отработан Post, и значения параметров сам возьмет из соотв-их полей НД.


Fran   (2002-10-10 12:04:00) [8]

Johnmen -> Я там могу написать Isert into <table> Values(1,2,3)
но заставить срботать - не могу.


Johnmen   (2002-10-10 11:41:00) [9]

>Fran (10.10.02 11:39)

И что ?


Fran   (2002-10-10 11:39:00) [10]

Johnmen -> свойство InsertSQL - TStrings.


Max Zyuzin   (2002-10-10 11:39:00) [11]

Командой insert.
А можно для простоты вообще запросы на добавление обрабатывать отдельным компонентом.
А что бы в Гриде юзер не мог добавить строку - только через кнопкуReadOnly поможет.


Johnmen   (2002-10-10 11:34:00) [12]

свойство InsertSQL и иже с ними :0)


Fran   (2002-10-10 11:32:00) [13]

Max Zyuzin -> Да, не понимаю.(см. также ответ Johnmen ->).


Max Zyuzin   (2002-10-10 11:23:00) [14]

Так. давайте попорядку. я уже не понимаю нифига.
Вы не понимаете как добавить запись в таблицу при помощи IBDataSet?


Fran   (2002-10-10 11:17:00) [15]

Johnmen -> QInsert и т.п.раньше ассоцировал все параметры и процедуру ExecQuery с нужным SQL в IBDataSet. Дело в том, что метод Insert вызывается из TDataSet, и передать в него параметры невозможно. К тому же в IBDataSet в обработчике AfterInsert стоит Cancel - чтобы в Гриде юзер не мог добавить строку - только через кнопку.
Alexandr -> прочитал, но нужно же стремиься к новому.


Alexandr   (2002-10-10 10:52:00) [16]

а зачем ты на 5.03 переходил?
А перед переходом список изменений прочитал?


Johnmen   (2002-10-10 10:52:00) [17]

А что такое QInsert ? Для чего он ?


Fran   (2002-10-10 10:48:00) [18]

Alexandr -> и Locate перестал работать.
Johnmen -> нет там ничего подобного.

И что делать?


Johnmen   (2002-10-10 09:44:00) [19]

А что, посмотреть свойства IBDataSet влом ?
И найти соответствующее старому QInsert ?


Alexandr   (2002-10-10 09:40:00) [20]

и это только начало...
Не надо было переходить


Наверх

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