|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.08.2012, 08:10 | #1 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Как правильно использовать редактирование в pFIBDataSet?
Добрый день! Мне нужно редактировать таблицу через DBGridEh, который подключен через DataSource к некоему pFIBDataSet. Содержимое таблицы я вывожу нормально, но не могу редактировать. Курсор на строке есть, но не могу ничего ввести в строку таблицы и сделать Post записи. Подскажите как правильно перевести pFIBDataSet в режим добавления записи?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
25.08.2012, 10:53 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
25.08.2012, 11:24 | #3 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Ну да, без него. У FIBPlus подключение к базе можно делать через pFIBDataSet и на него настраивать DataSource. Просто не понимаю как его настроить нормально. Может кто-нибудь пошагово помочь сделать?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
27.08.2012, 14:22 | #4 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
в FIBDataSet кроме SelectSQL (для выборки) есть еще и InsertSQL (для добавления), UpdateSQL (для модификации), DeleteSQL (для удаления) и RefreshSQL (для обновления ч\з DataSet1.Refresh). так вот для того чтобы твой ДатаСет мог вставлять\обновлять записи нужно заполнить соответствующее свойство (InsertSQL\UpdateSQL) ... если лень писать их самому - для этого можно воспользоваться SQL Generator который идет вместе с FIB+ ... указываешь для какой таблицы генерировать запросы и какй именно запрос нужен (или все сразу) и будешь ты happy
пример: Код:
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... Последний раз редактировалось Yurk@; 27.08.2012 в 14:28. |
27.08.2012, 15:33 | #5 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
т.е. мне достаточно передать в SQL имя таблицы и список полей и все? Я могу и программно это сделать легко. Тогда я смогу во время работы программы выполнять только вставку записи?).
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
27.08.2012, 16:29 | #6 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
угу .. примерно так)))))
а если подружишься с автогенератором этих самых sql выражений - можно будет автоматом генерить скрипты под разные таблицы одним и тем же датасетом
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
29.08.2012, 18:47 | #7 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Отлично! Вставка новой записи работает . Теперь осталось несколько вопросов.
1. Как подтверждать факт добавления новой записи: pFIBDataSet1.Transaction.Commit? Через DBNavigator? Или еще как? 2. Как должен выглядеть запрос в свойстве RefreshSQL у pFIBDataSet1? Такой же как у UpdateSQL? Иначе я не вижу принятые (через, например, DBNavigator) изменения сделанные в базе. Ошибок нет никаких.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
29.08.2012, 19:54 | #8 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
1.
Код:
2. зачастую RefreshSQL = SelectSQL (если не нужно сделать что-то иное)
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
30.08.2012, 09:05 | #9 | |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Цитата:
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
|
30.08.2012, 09:14 | #10 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
ну сделай))) ... тог включи при этом логику: на команду "обновить данные" датасет у тебя будет делать UPDATE
тут Refresh понимается не в смысле "изменений данных", а в смысле "перечитать данные" ... это примерно равносильно DataSet.Close; DataSet.Open; ... только мягче
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... Последний раз редактировалось Yurk@; 30.08.2012 в 09:17. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как правильно использовать MySQL | EndoCrinolog | PHP | 6 | 24.08.2012 21:08 |
Как правильно использовать MonthCalendar | Shanuzina | Компоненты Delphi | 1 | 04.03.2010 11:58 |
как правильно использовать OR AND | mpdasa | Общие вопросы Delphi | 2 | 19.01.2010 17:30 |
Как правильно использовать компонент TDBF | SadStar | Компоненты Delphi | 0 | 27.03.2009 02:48 |
Как правильно использовать ComboBox | Pirotexnik | Общие вопросы Delphi | 6 | 26.03.2009 23:30 |