Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

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

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

попробуй sql insert. скорее всего что-то с Datasource напутал при подключении.
pobedin вне форума Ответить с цитированием
Старый 08.09.2011, 12:35   #3
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

Создал новые объекты FIBDataset и Datasource, указал им только SQL текст - результат такой же.
delphicoding вне форума Ответить с цитированием
Старый 08.09.2011, 15:39   #4
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

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

Окно 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.
delphicoding вне форума Ответить с цитированием
Старый 11.09.2011, 13:59   #5
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

Решено, тему можно закрывать/удалять.
delphicoding вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как запись можно создать videolord Помощь студентам 1 18.07.2011 12:45
Можно ли создать пустую строку? dykatob Общие вопросы C/C++ 7 13.05.2011 20:42
Как выбрать нужную запись из DataSet Andrey85 БД в Delphi 7 24.10.2010 23:35
TClientDataSet. Как создать новую БД (очистить старую)? TwiX БД в Delphi 6 02.04.2010 19:07
изменить запись в наборе DataSet не внося изменение в БД truevoxdei БД в Delphi 10 31.08.2009 15:10