Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.09.2011, 11:37
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
Вопрос Dataset - как создать новую пустую запись?

Здравствуйте!
Есть FIBplus Dataset связанный с TcxGrid, который прекрасно получает данные из БД, отображает, редактирует и удаляет. Но при попытке создать новую запись - в новой записи поля не пустые, а появляются все данные из текущей активной записи включая ключевое ID поле, как при Edit! Пробовал и Dataset.Insert и Dataset.Append - одинаково.
Как же создать в Dataset/Datasource новую пустую-чистую запись?
Ответить с цитированием
  #2  
Старый 08.09.2011, 15:39
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
По умолчанию

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

Окно 1 каталог TcxGrid из него открываем окно 2 редактор записи c TcxDBVerticalGrid, окно 2 может открываться как для редактирования, так и для создания новой записи.
Значит нужно в зависимости от Создание новой / Редактирование устанавливать Dataset в соот положение Insert / Edit.
Как это сделать? По логике это должно быть можно сделать до создания окна редактора просто Dataset.Insert - но в таком случае почему-то потом в окне редактора Dataset всё время в состоянии Browse!
Или можно как-то передать статус действия Создание новой / Редактирование в создаваемое окно редактора и затем в самом редакторе в момент FormShow переключить Dataset в нужное положение.
Тоже блин не пашет! Создал в окне редактора "public var ID:integer", из каталога при создании окна редактора в этот ID пытаюсь передать ID записи если редактирование, в окне редактора проверяю если ID=0 то новая запись... всё вполне логично и очевидно, но не пашет, тк почему-то в окне редактора ID всегда = 0, хотя проверка в окне каталога показывает, что ID из каталога передаётся правильно... но видимо не сохраняется в переменной созданного окна редактора...
Подскажите как решить проблему - в чём может быть затык ?!

Последний раз редактировалось delphicoding, 08.09.2011 в 18:53.
Ответить с цитированием
  #3  
Старый 09.09.2011, 17:11
Аватар для Voron
Voron Voron вне форума
Новичок
 
Регистрация: 16.09.2010
Сообщения: 61
Репутация: 10
По умолчанию

Попробуй через оператор INSERT в Query.
Ответить с цитированием
  #4  
Старый 09.09.2011, 17:30
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

А не надо вообще так делать. Вы блокируете запись на довольно продолжительное время, пока открыта форма. Чем меньше вы делаете таких блокировок и чем они короче, тем лучше, потому записывайте данные в БД разово, после подтверждения на запись после закрытия формы.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 09.09.2011, 21:53
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
По умолчанию

С тем разобрался.
Цитата:
Сообщение от Страдалецъ
А не надо вообще так делать. Вы блокируете запись на довольно продолжительное время, пока открыта форма. Чем меньше вы делаете таких блокировок и чем они короче, тем лучше, потому записывайте данные в БД разово, после подтверждения на запись после закрытия формы.
Пожалуйста - поясните подробно! Во-первых на сколько мне известно FB/IB не блокировочная, а версионная СУБД. Во-вторых на что это влияет? Объясните подробно, пожалуйста...
Ответить с цитированием
  #6  
Старый 11.09.2011, 14:02
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
По умолчанию

Пожалуйста - поясните подробно!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:39.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025