Форум: "Базы";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];
ВнизПереход с IBX 4.52 на IBX 5.03 - нет свойства QInsert и т.п. Найти похожие ветки
← →
Fran (2002-10-10 09:33) [0]Здравствуйте. При переоде проекта под 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 09:40) [1]и это только начало...
Не надо было переходить
← →
Johnmen (2002-10-10 09:44) [2]А что, посмотреть свойства IBDataSet влом ?
И найти соответствующее старому QInsert ?
← →
Fran (2002-10-10 10:48) [3]Alexandr -> и Locate перестал работать.
Johnmen -> нет там ничего подобного.
И что делать?
← →
Johnmen (2002-10-10 10:52) [4]А что такое QInsert ? Для чего он ?
← →
Alexandr (2002-10-10 10:52) [5]а зачем ты на 5.03 переходил?
А перед переходом список изменений прочитал?
← →
Fran (2002-10-10 11:17) [6]Johnmen -> QInsert и т.п.раньше ассоцировал все параметры и процедуру ExecQuery с нужным SQL в IBDataSet. Дело в том, что метод Insert вызывается из TDataSet, и передать в него параметры невозможно. К тому же в IBDataSet в обработчике AfterInsert стоит Cancel - чтобы в Гриде юзер не мог добавить строку - только через кнопку.
Alexandr -> прочитал, но нужно же стремиься к новому.
← →
Max Zyuzin (2002-10-10 11:23) [7]Так. давайте попорядку. я уже не понимаю нифига.
Вы не понимаете как добавить запись в таблицу при помощи IBDataSet?
← →
Fran (2002-10-10 11:32) [8]Max Zyuzin -> Да, не понимаю.(см. также ответ Johnmen ->).
← →
Johnmen (2002-10-10 11:34) [9]свойство InsertSQL и иже с ними :0)
← →
Max Zyuzin (2002-10-10 11:39) [10]Командой insert.
А можно для простоты вообще запросы на добавление обрабатывать отдельным компонентом.
А что бы в Гриде юзер не мог добавить строку - только через кнопку ReadOnly поможет.
← →
Fran (2002-10-10 11:39) [11]Johnmen -> свойство InsertSQL - TStrings.
← →
Johnmen (2002-10-10 11:41) [12]>Fran (10.10.02 11:39)
И что ?
← →
Fran (2002-10-10 12:04) [13]Johnmen -> Я там могу написать Isert into <table> Values(1,2,3)
но заставить срботать - не могу.
← →
Johnmen (2002-10-10 12:11) [14]И не надо ! Он сам сработает, когда запись будет вставлена в НД и отработан Post, и значения параметров сам возьмет из соотв-их полей НД.
← →
Fran (2002-10-10 12:19) [15]Johnmen -> что значит "сам сработает, когда запись будет вставлена в НД и отработан Post, и значения параметров сам возьмет из соотв-их полей НД." кем это она будет вставлена? И где это он параметры возьмет, если я вставляю запись по нажатию соответствующей кнопке на форме и в гриде нет и половины значений, которые надо вставить и вообще грид не редактируется и параметры заносятся из другой - диалоговой формы?
← →
Johnmen (2002-10-10 12:23) [16]Понятно...
В этом случае - отдельный TIBQuery.
← →
ЮЮ (2002-10-10 12:27) [17]IBDataSet.Insert;
IBDataSet.Fields[0].AsInteger := 1;
IBDataSet.Fields[1].AsString := ЕдитИзДругойФормы.Теxt;
IBDataSet.Post;
← →
Fran (2002-10-10 12:46) [18]ЮЮ -> IBDataSet.Insert; Ну не работает Insert т.к. значения полей Not Null, должны быть заполнены. InsertRecord - не работает, т.к. в AfterInsert стоит Cancel, чтобы Юзер не мог в гриде вставить запись перемещая курсор вниз. А ReadOnly для Грида не поставишь, т.к. некоторые поля он должен редактировать в гриде.
← →
Alexandr (2002-10-10 12:53) [19]нет уж. Возьми dbgrideh он умеет запрещать поотдельности вставку, редактирование и удаление.
← →
Alexandr (2002-10-10 12:56) [20]DbGridEh заюзай, там можно запретить вставку в гриде.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.016 c